Rhombus' syntax is soooo beautiful. As a Racketeer, it's my dream language. All the power of Racket... without a Lots of Insipid, Stupid Parenthesis. Not that I don't like the parens, mind you, but Rhombus looks so much more... 2009. My only regret is that nobody will use Rhombus, except a few enthusiasts, for fun. In an AI age, new programming languages should really be LLM-first, sadly. But it makes me so happy that there are some people who still care about humans coding.
One of the other objections to SICP, at least outside of MIT, was that it was too hard (especially for high school students). Which is part of why HtDP, and much of Racket supported that and other educational initiatives by Matthias Felleisen, et al. https://htdp.org/
I'm curious: Did MIT use Racket at some point for SICP, rather than MIT Scheme, either officially or grassroots? Jens Axel Soegaard, Mike Sperber, and I made some conveniences for doing SICP with Racket, circa 2009, but I don't recall hearing that Racket was used for SICP at MIT itself, only at various other places. https://www.neilvandyke.org/racket/sicp/
Interesting. For me the interesting part of Racket has always been the language itself. What else is there that you like and can use from Rhombus?
The customizable aspect being an open-compiler API that is accessible to a wide audience.
I love parenthetical syntax but I accept that some people don’t like it and find it hard to work with.
I see Rhombus as taking a key innovation in Python - indentation syntax - and giving it an extensibility that is impossible to add to such an established language.
Lisps are great for fast iteration but the syntax is a big problem because it's so sensitive to a single misplaced paren. LLMs like clean syntax with as little noise and unnecessary tokens as possible. They work better with dynamic or inferred types, low verbosity, no repetition like `Foo foo = new Foo();`, clearly delimited blocks, you get the idea. Parts of the language should compose well so the chance that a reasonable edit will cause a syntax error is as low as possible.
Popularity was a big deal with early coding models that couldn't go from specific languages to a wider idea of programming. Modern LLMs can generalize a lot better and use Rhombus or Gleam with no major issues, but they still work better in Python or JS with more training examples.
Basically the things that make a language LLM friendly are the same ones that make it human friendly, at least if your human is an average developer instead of a FP fanatics or enterprise architect.
Much more than other languages are sensitive to misplaced braces/indentation?
That's more a problem for humans who have never programmed in a Lisp and are using notepad.exe.
(if p (foo) (bar))
if (p) { foo(); } else { bar(); }
if p:
<indent>foo()
else:
<indent>bar()
> LLMs like clean syntax with as little noise and unnecessary tokens as possible.Isn't that good news for Lisps?
Rhombus strikes to me as an interesting language in this ecosystem (which it is!) that not only gives you access to all those capabilities, but shows how powerful Racket can be for building programming languages!
That said I have not yet sat down to try it, but as they seem to be doing quick development with it, I just might have to.
The entire Rhombus repo is all Racket:
https://github.com/search?q=repo%3Aracket%2Frhombus++languag...
It's "cool" and the ecosystem rules, and it's fast enough, I just never really found that I liked writing Racket or using Dr. Racket the same way I like writing Python so I never really reached for it when I was trying to do something. Indeed, from the first time I looked at Python I liked it. That was not the case with Javascript or Java or C or PHP? I don't know, I like Python and really want a practical Lisp that I can really sink my teeth into? So by all accounts I should love Racket. And yet, I don't.
That said, Rhombus looks really nice at first glance. This might be worth a sustained excursion to build something a bit more fun... I'm kind of excited about this!
The way I use racket its main competitor is python. It's for when I want to accomplish something with heavy third party deps, and I have zero interest in writing the actual cool code I just need to make some libraries kiss and then use my tool. Not saying that's the case here but maybe racket just doesn't offer you much that python doesn't?
Sounds like you'd get more from just using one of the other lisps you liked, especially if there's a more specialized one that wouldn't be competing with a language you probably would prefer to use anyway. Like eg I have to deal with a lot of lua so I get my lisp rocks off with fennel.
One of the things I've really wanted to get into is writing some DSLs and Racket and Rhombus are supposed to be the tools you're supposed to reach for for that?
I don't know, the god's honest truth is that I don't write nearly as much code as I did 8 months ago lol, so maybe just diving into Racket and Rhombus for personal stuff would be fun and it doesn't have to something for work...
Really, the lisps I've really liked are Guile Scheme (ok not a lisp really but lispy enough and I liked it) and Clojure? But though I liked them I never had enough work in them to get really good. I do like Lispy languages in general though (since Emacs Lisp, which is glorious in it's own way), I just need the excuse to start playing with them more because they're fun.
You know what I've been really intrigued with over the years has been uLisp (which should be pronounced Micro Lisp) for microcontrollers (http://www.ulisp.com/), but a really cool project would be a DSL that spits out C for the STM32 boards I play with periodically for embedded stuff? I don't know, maybe after I get the cabin done... that'd be a really fun adventure and writing a DSL for that would make my life immensely easier...
I was reading through "Let Over Lambda" and kind of out of my depth because while I can mostly figure out what's going on I'm not using CL as a daily driver so the book just references functions and I'm like, "well I guess do-thing-nicely, does the thing nicely? Alright, good enough I suppose."
Maybe I should really give things another go with it. Thanks!
A weird thing: whichever Lisp language I am currently using for work (or a side project) is my favorite.
JavaFX itself is pretty much "done". Maybe there are corner cases where it's lacking.. like displaying complex Math equations, drawing the full SVG spec, or making complex charts with UI elements. That said, there are plenty of Java libraries for some of these situations.
The main downside I've found is that my final bundled GUI apps are rather large binaries and they consume a ton of RAM (though I think it's the JVM reserving it mostly). They take a few seconds to launch, but then they're extremely snappy.
Supposedly you can shave the yak further with GraalVM but I haven't gone down that rabbit hole
The GUIs actually use the underlying native GUIs thanks to the dynamic FFI. The goal is to have a cross platform GUI. Your program runs on macOS, Linux and Windows without any problems.
But if there is some gui feature, that is only available on one platform, you won't find it in the builtin gui libraries. However, you can always add platform specific functionality yourself.
https://docs.racket-lang.org/rhombus-gui/index.html?fam=Rhom...
Because it builds on the Racket platform you get one of the only cross-platform uniform gui toolkits that works out of the box.
Building languages was always one of selling points racket tried to push; the "Language-Oriented Programming Language" slogan and all.
But I have to use other languages, like Python, JavaScript, and Swift, for employability and (sometimes) ecosystem/integration reasons.
Rhombus is easy to use and uniquely customizable.
See https://blog.racket-lang.org/2026/08/rhombus-v1.1.html for the release announcement and highlights.
I usually use small local models, and the work to set up very concise skills and efficient tooling is a big part of the fun. I have also adopted the practice of writing my own custom coding harnesses (these can be less than 2000 lines of code, not the huge project you might expect.)
Rhombus looks promising in terms of tooling.
On the other hand: LLMs are susceptible to incorrectly guessing "I think it should work this way".. I'd guess the powerful flexibility of metaprogramming could be more annoying than helpful. But, I'm curious.
Python has remained in the top 5 (often near or at the top) most used programming languages for years. Meaningful whitespace is not stopping people from using it in enough numbers to make it clear that it's a detriment as a language feature.
But it's important to note, at you need editor support for rendindenting blocks easily and correctly.
I'm... not a super fan of rhombus' emphasis on metaprogramming beyond supporting the language itself though.
Qualities or activities that have negative connotations. Guile. Gauche. Larceny. Racket.
I think it started with theorem provers - Planner, Conniver. Then Scheme[r].
Not that this is a complaint worth airing on HN.
Solution: just block the alias that you use for the submission…
And has been for a long while.