5 ms·
It seems that Racket became for Schemes what Common Lisp was for Lisps, which is really good. Racket is famous for carefully chosen design decisions and nerdy
by dschiptsov 10y ago
It seems that Racket became for Schemes what Common Lisp was for Lisps, which is really good.
Racket is famous for carefully chosen design decisions and nerdy attention to details, so in this sense it is much better than Common Lisp which was a dump.)
- richard_todd 10y agoI'm not really sure what you mean, but I don't see it. Racket did not develop a new standard that pulled together common practices across existing Scheme implementations, and other implementations did not adapt racket compatibility features, nor did additional racket implementations pop up. Racket does not appear to have supplanted use of other scheme implementations either. So, I'm looking for the analogy, but I'm not finding it. In fact, racket claims to have changed their name to "racket" in the first place because they were so far from Scheme that it was confusing to everyone (http://www.racket-lang.org/new-name.html http://www.racket-lang.org/new-name.html). I wouldn't say that about Common Lisp vs predecessor lisps.
- peatmoss 10y agoThe analogy breaks down in quite a few places. In addition to the ones you mentioned, there are no multiple implementations of Racket. That said, there is a similarity (and contrast) with CL in that, as a relative novice, there is enough of a cohesive system that I can imagine writing software in Racket. With other schemes, I've had the distinct feeling of starting from ground zero. Outside Racket, Chicken comes the closest, but is still a long ways off. Take my comments with a grain of salt; I'm a neophyte who has pretty minimal experience writing any dialect of lisp.
- dschiptsov 10y agoYeah, this analogy isn't perfect. The idea is that they are trying to collect and unify the best idioms and utilities from the Scheme world while continuing to develop their own packages.
- gongador 10y agoIn my opinion, it is Common Lisp that is famous for carefully chosen design decisions and nerdy attention to details, given the situation and the constraints (Darpa saying 'fix the situation or we cut funding', and lots of implementors anxious to push /their/ way.) Sure, everything isn't "just right" (e.g. READ-FROM-STRING, no 'parse-number'), but that's a universal problem.
- dschiptsov 10y agoLook at my comment below.
- reikonomusha 10y agoIn what way was Common Lisp a "dump"?
- dschiptsov 10y agoObviously by incorporating many pieces from various dialects without proper, careful unification in naming, ordering of arguments, eliminating redundancy, etc. The examples of good care taken are library/base of Haskell (they really do rewrite core libraries when they have implemented a better idiom) and stdlib of Erlang and Racket.