Skip to content

Instantly share code, notes, and snippets.

@spdegabrielle
Last active June 19, 2023 15:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spdegabrielle/4386e447721191d930d1c7cb7b287231 to your computer and use it in GitHub Desktop.
Save spdegabrielle/4386e447721191d930d1c7cb7b287231 to your computer and use it in GitHub Desktop.
Rhombus

The problem with Racket is that it is more of a research language than a "productive" LISP.

Many of us in the Racket community are professional developers and both participate in the ongoing development and use it on a day to day basis for tasks unrelated to CS research.

The Racket team is focused on building a platform for PLT research, and are not that invested in Racket (the LISP) as much as they are invested in Racket (the platform). In fact, the current proposal for "Racket 2" (now called "Rhombus", the successor language for Racket) does not use S-exps at all.

Rhombus is a Racket #lang language implemented in Racket, and compiled down to fully expanded Racket before being compiled to native machine code.

Since the Rhombus announcement in 2019 Racket has continued to grow and evolve, as a language, a platform, and a community.

Work on Rhombus has already benefited Racket - and that has been the plan from the start.

Community participation is at the core of the Rhombus project - join us and see for yourself: https://github.com/racket/rhombus-prototype#participation 😁

The Racket Community is serious about S-exp syntax.

I understand the fear you might feel at the thought of losing a wonderful modern lisp like Racket, but the past three years of activity and growth in both Racket and Rhombus shows that fear is completely unfounded.

Both Racket and Typed Racket are actively developed, and we now have experimental (but working) implementations of the Racket compiler for Javascript (RacketScript) and LLVM (Nora).

The Racket Distribution also includes MzScheme, Lazy Racket and our build system runs on a tiny lisp: Zuo. https://github.com/racket/rhombus-prototype/blob/master/README.md#participation

If, however, you're planning to use Racket as a platform for running an established LISP (e.g. Scheme), then you're in relatively safe territory. Racket (the platform) is decent and mature, especially after the Chez Scheme migration.

I agree that Racket is a mature and stable platform, with a professional release process and a release schedule the envy of many, with four stable release every year for as long as I can remember.

I'll add that when Racket was renamed in 2011 the team committed to continue to support R5RS and R6RS Scheme standards. Both R5RS and R6RS Scheme continue to be supported in our latest release (Racket 8.9) and since then Racket also supports the scheme variant used in SICP - including the picture language - and R7RS.

The Racket Community is serious about its love of parenthetical syntax ❣️

Both Racket and Typed Racket are actively developed, and we now have experimental working implementations for Javascript (the RacketScript Racket-to-Javascript compiler) and LLVM (Nora).

In addition to the Racket Distribution including MzScheme, R5RS & R6RS, we also have the variant of scheme used in SICP and R7RS. Even our build system runs on a tiny lisp: Zuo.

Since the Rhombus announcement in 2019 Racket has continued to grow and evolve, as a language, a platform, and a community.

Work on Rhombus has already benefited Racket - and that has been the plan from the start.

I understand the fear of losing something great, but the past three years of activity and growth in both Racket and Rhombus shows that fear is completely unfounded.

This is not a closed-door skunkworks - community participation is at the core of the Rhombus project - join us and see for yourself 😁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment