4 ms·
I'm looking for one alternate implementation of a subset of Racket so that I can justify using the language for things. All of your links are someone implement
by MichaelBurge 4y ago
I'm looking for one alternate implementation of a subset of Racket so that I can justify using the language for things.
All of your links are someone implementing Scheme in Racket, not Racket in Scheme. So that would make Scheme "safe", but not Racket.
It would be possible to write an interpreter in any language, but I can't tell if that would take weeks or years before it could run most racket/base programs.
- JHonaker 4y agoI’m still not sure what you mean by “safe.” Are you worried about Racket becoming unmaintained? Racket itself is written on top of Chez Scheme, so does that satisfy your safety condition?
- klibertp 4y ago> I’m still not sure what you mean by “safe.” Probably means "portable". If I'm reading it correctly, they want to be able to run Racket programs using a portability layer instead of writing a full interpreter. That would be something like using WINE vs. VirtualBox running Windows inside. > Are you worried about Racket becoming unmaintained? This is quite understandable concern, and even if it doesn't happen, having an "exit strategy" prepared is not a bad thing. > Racket itself is written on top of Chez Scheme, so does that satisfy your safety condition? Right, I forgot about it! After the rewrite/porting to CS Racket should have become easier to port to further platforms. I think much of Racket's reader and macro-expander was rewritten in pure Scheme. @MichaelBurge - take a look at the blog[1] and follow links from there[2]. Racket was ported from a custom JIT-capable implementation to Chez Scheme. It took 4-5 years, but it was finished last year. The performance is now at the same level it was before, but a lot of C code is now written in Scheme. [1] https://blog.racket-lang.org/2020/02/racket-on-chez-status.html https://blog.racket-lang.org/2020/02/racket-on-chez-status.h... [2] migration done post: https://blog.racket-lang.org/2021/01/racket-status.html https://blog.racket-lang.org/2021/01/racket-status.html