Re:How did Ruby and Python prevent fragmentation while ML an...
by dsrguru on Sunday May 06, 2012 @07:46PM
(#3936860)
I'm not a CL expert, but the existence of multiple implementations of CL doesn't appear to have caused much fragmentation. The language did evolve beyond the standard (e.g. threading and the meta-object protocol), but if I'm not mistaken all popular implementations of CL (SBCL, Clozure CL, Allegro, LispWorks, CLISP, CMUCL) implement the full meta-object protocol, and even if their thread implementations use different libraries, isn't that pretty common among programming languages that aren't considered fragmented? Different implementations of C are certainly like that. Unless the OP really meant to ask why some languages have one main implementation and others have multiple, but that seems like a very different question (whose answer in the case of CL is obviously not that it broke off into multiple languages but rather that it was designed as a standard without any official implementation to begin with).
As far as Common lisp and Scheme go, there are things outside the rnrs and common lisp standards that cause the fragmentation.
I don't use common lisp so I can be wrong but going by the specs, there is no mention of threading, networking et al.
http://www.lispworks.com/documentation/HyperSpec/Front/Conte...
Without that, sbcl and clisp aren't as inter changeable as they should be and this can be regarded as fragmentation.