3 ms·
Something that I find a little concerning about Racket is that AFAIK there are no alternative implementations. (Clojure and Common Lisp have a couple). Why is t
by latenightcoding 3y ago
Something that I find a little concerning about Racket is that AFAIK there are no alternative implementations. (Clojure and Common Lisp have a couple). Why is that? is it too complex?
- Jtsummers 3y agoRacket itself came from PLT Scheme which was based on the Scheme standard (R5RS or R6RS at the time of Racket's diverging, can't recall which, wasn't paying much attention). It's still a fairly new language (13 years old now) and was largely Scheme compatible most of that time (still is, actually, if you stick to `#lang racket`, but not 100%). It also has no published standard, in this regard it's somewhat like Rust and others where to make an alternative implementation you've got to reverse engineer (fortunately it's open source) aspects of the current implementation. So it's not like you can just pick up R8RR (since it's on version 8, and keeping with the naming convention of Scheme standards as in R5RS) and start building something. Common Lisp also has a standard for implementers to follow, and is about 25 years older than Racket. That's given implementers a bit more time. Regarding Clojure, what's the status/quality of all the other implementations?
- alwaysbeconsing 3y agoI believe Racket goes back further than 13 years. I clearly recall using Dr Racket in the early 00's
- Jtsummers 3y agoIt was DrScheme in the 00s. They changed the name to Racket and DrRacket in 2010. https://blog.racket-lang.org/2010/06/racket.html https://blog.racket-lang.org/2010/06/racket.html https://www.racket-lang.org/new-name.html https://www.racket-lang.org/new-name.html
- kazinator 3y agoRacket is a Scheme dialect (sort of), which has multiple implementations. People might be confused by the name Racket; it was clearer when it was called PLT Scheme. Common Lisp has more than a couple of implementations, especially when we take a historic view. However, say, Steel Bank Common Lisp has only one implementation.