4 ms·
Just to be nitpicky, Racket is not a Scheme dialect (hence the name changing from PLT Scheme to Racket a few years ago (already!)). It's not because it not only
by p4bl0 13y ago
Just to be nitpicky, Racket is not a Scheme dialect (hence the name changing from PLT Scheme to Racket a few years ago (already!)). It's not because it not only adds a lot to Scheme but also has somewhat important differences. For instance, `cons` pairs are immutable in Racket: there's no `set-car!` or `set-cdr!` as in Scheme (you can have mutable cons pair using `mcons`, `set-mcar!`, and `set-mcdr!` though). Also the macro systems that Racket uses (`syntax-parse` and co) is quite more advanced than the current Scheme rNrs one.
- moron4hire 13y agoWell, #lang racket is not scheme, but one can run rnrs in the racket runtime. There are many languages that run on the racket runtime.
- jlgreco 13y agoIIRC, Arc/HN runs on mzscheme because they rely on mutable cons cells that newer versions (racket) don't provide. Could they run under new rackets by just telling racket to use a proper scheme?
- moron4hire 13y agoThere is an mzscheme language mode, but it specifically does not include set-car! and set-cdr!.
- jeapostrophe 13y agoAs a Racket author, I can tell you that we provided them with a hack to enable mutation on arbitrary conses, so they can upgrade whenever they wish, and I don't know whether they have or not.