News for hackers. Stuff that matters.
Re:How did Ruby and Python prevent fragmentation while ML an... by dsrguru on Sunday May 06, 2012 @01:10PM (#3935599)
This really just seems like a matter of definition. Rather than viewing LISP dialects as fragmented forms of one original language, we can view Common Lisp, Racket, and Clojure---the three main forms of LISP seen in "the real world"---as three separate languages that, like Python and Ruby, haven't fragmented. We can view the fact that all three use the LISP model of computation simply as a design choice and not a sign of "offshootness", in the same way that we don't say that Python and Ruby are the results of ALGOL's fragmentation.
Re:How did Ruby and Python prevent fragmentation while ML an... by irahul on Sunday May 06, 2012 @03:28PM (#3936047)
> we can view Common Lisp, Racket, and Clojure---the three main forms of LISP seen in "the real world"---as three separate languages that, like Python and Ruby, haven't fragmented

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.

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).