Rhombus 1.1 is now available

(blog.racket-lang.org)

117 points | by spdegabrielle 18 hours ago

8 comments

  • dexterlagan 12 hours ago
    Rhombus is what Racket should have been, back when it was the learning language at MIT, before it became Python. Had it been like this, maybe Python would have never gained traction within that community. The world would have been a very different place.

    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.

    • neilv 11 hours ago
      IIRC, MIT moved away from SICP, and therefore Scheme, because (something like) they saw the field for MIT EECS graduates changing -- from understanding how systems worked in detail, and being able to build from scratch, to assembling systems from off-the-shelf components. And I guess some thought that a currently popular language (first Java, and then Python) was more appealing for that.

      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/

    • mark_l_watson 2 hours ago
      I love Racket, and have a ton of Racket code I have written over the years. When I get home from a vacation I will have an AI translate a small sample of my Racket code to Rhombus: easiest way for me to play with the language.
    • klez 9 hours ago
      > As a Racketeer, it's my dream language. All the power of Racket...

      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?

    • snikeris 4 hours ago
      What properties make a language more LLM-friendly? I've found Claude will readily make use of a REPL when available.
      • tancop 1 hour ago
        The most important ones are fast build/startup times and informative error messages. They can focus on actually debugging your code instead of waiting for the compiler or looking up obscure error codes in the docs (if they have web access, if they don't they will hallucinate).

        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.

        • shakow 1 hour ago
          > because it's so sensitive to a single misplaced paren

          Much more than other languages are sensitive to misplaced braces/indentation?

  • giancarlostoro 16 hours ago
    Racket was always one of my favorite Lisp / Scheme dialect, mainly because of its very rich ecosystem, you can make websites, GUIs a lot of things with very minimal effort, that and Dr Racket lets you see visually where import goes into code, and a bunch of other nice things.

    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...

    • arvyy 12 hours ago
      > shows how powerful Racket can be for building programming languages!

      Building languages was always one of selling points racket tried to push; the "Language-Oriented Programming Language" slogan and all.

      • neilv 11 hours ago
        And it's true, and one of the reasons that Racket (and other beefy Schemes) is easily tied for my favorite language.

        But I have to use other languages, like Python, JavaScript, and Swift, for employability and (sometimes) ecosystem/integration reasons.

    • piloto_ciego 16 hours ago
      I really want to like Racket? I really do, but I just never really enjoyed like I liked Python. And despite trying a bunch of other Lisps and liking them, something about Dr. Racket annoyed me. I'm not sure why.

      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!

      • giancarlostoro 4 hours ago
        Racket and Clojure are the primary Lisp languages I like. The only thing I don't like about Clojure is the JVM itself ;) Mainly because Oracle stopped working on making Java have a rich GUI stack, JavaFX was brilliantly done and headed in a positive direction, but once Oracle took over Java, it kind of turned it into "that one backend language" essentially, instead of the cross-platform multi-application need swizz army knife it used to be.
      • andrewflnr 4 hours ago
        DrRacket seems to have doing the thing where they implement of a bunch of GUI stuff from scratch and miss a lot of edge cases in the process. It feels unpolished and a bit janky.
      • giraffe_lady 15 hours ago
        Racket was my main language for personal stuff for years despite me never really liking it all that much and not able to put my finger on why. It's not even top 10 languages or top 5 lisps for me but it is just incredibly practical. I have zero passion for this language.

        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.

        • piloto_ciego 15 hours ago
          This is something to think about... and you know, the other side of it is, "maybe I should play with Rhombus but also just spend some time playing more in Racket and choose to like it more?" lol - we can do that right? Choose to enjoy things?

          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...

          • alethic 13 hours ago
            Racket and Rhombus are nice for writing embedded DSLs, yeah. More generally, they're nice for writing macros. Scheme in general is nice for writing macros with its `syntax-case` and first-class notions of syntax objects, but Racket is /really/ nice with its `syntax-parse` and explicit notions of phase levels... If you are interested in learning, Greg Hendershott's "Fear of Macros" is often recommended as a good introduction. https://www.greghendershott.com/fear-of-macros/
            • piloto_ciego 13 hours ago
              I am interested, thanks!

              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!

          • mark_l_watson 2 hours ago
            Since 1982 I have spent much of the time being paid to work in Lisp languages.

            A weird thing: whichever Lisp language I am currently using for work (or a side project) is my favorite.

      • arvyy 12 hours ago
        you might be interested in Hy lang
  • spdegabrielle 18 hours ago
    We are pleased to announce Rhombus 1.1 is now available from https://rhombus-lang.org

    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.

    • JoelMcCracken 17 hours ago
      I experimented with Rhombus some time ago (most especially with Shplait). Is there much new with Shplait? Something I remember struggling with was trying to use racket libraries in Rhombus/Shplait
  • Skywing 14 hours ago
    With AI becoming so predominant, I wonder if dynamically typed languages will lose favorability? Seems to me like a heavily documented, statically typed language is going to be ideal for AI programming. I'm wondering what role these flexible, coder-friendly, dynamically typed languages will play in the years to come.
    • mark_l_watson 2 hours ago
      That is a really good question. My personal intuition is that LLMs do well with any language as long as you set up for fast syntax checking tools, access to either a REPL or very fast to run tests, etc.

      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.)

    • soanvig 9 hours ago
      Actually, staticly typed languages are easier for both humans and machines; however dynamically typed languages are harder for humans and probably neutral for LLMs. LLM should be able to infer usage (hence "typing") because it can put the entire codebase in its context, while humans cannot.
      • rgoulter 6 hours ago
        I'd count in LLM coding agents favour: e.g. willingness and capability to do things which I'd have to go read a tutorial for; as well as rapidly being able to iterate and narrow down e.g. when given access to a repl.

        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.

  • mherdelight 7 hours ago
    I never really liked Python's indentation-instead-of-curly-brackets thing, why are people reusing it?
    • Jtsummers 3 hours ago
      > why are people reusing it?

      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.

    • soegaard 50 minutes ago
      As most other things - you get used to it.

      But it's important to note, at you need editor support for rendindenting blocks easily and correctly.

    • tiagod 1 hour ago
      Because whether you like it is not really of any importance to most people.
  • antonyragleap 13 hours ago
    The practicality of Racket is interesting; sometimes a language wins simply because its ecosystem makes certain tasks much easier.
  • behnamoh 17 hours ago
    I wish they had chosen a more "modern" name for the language.
    • Jtsummers 17 hours ago
      What would be a modern name for a language?
    • jambutters 17 hours ago
      Honestly a unique searchable name is better. I type in racket and results are mixed with tennis and I need to suffix "Language"
      • sudahtigabulan 13 hours ago
        There is a naming tradition in the Lisp world, which Racket devs apparently have chosen over searchability.

        Qualities or activities that have negative connotations. Guile. Gauche. Larceny. Racket.

        I think it started with theorem provers - Planner, Conniver. Then Scheme[r].

        • Y_Y 9 hours ago
          I don't think Gauche fits there. There is a tradition of naming with synonyms for "scheme" (as in a criminal enterprise) like the others you listed, with some more peripheral ones like Gambit, Ruse, Artifice.
        • neilv 12 hours ago
          A funny thing was, when the rename to Racket was still fairly new, someone started looking into adopters in the finance space.
      • peesem 17 hours ago
        well, i also have to type "rhombus language" to get relevant results for the rhombus language
      • jimbob45 17 hours ago
        .NET/.NET Core/.NET Framework migration is painful because of this. VS/VSCode is sometimes only possible with AI’s help.
  • threatofrain 17 hours ago
    The way the Rhombus / Racket community does libraries has to change. That whole package site has to change. Being a contributor on there exposes you to a steady stream of fraud garbage. There's nothing to promote the top libraries as the top libraries.

    https://pkgs.racket-lang.org/?fam=Rhombus

    • sorawee 15 hours ago
      I agree that a ranking mechanism would be nice, but what do you mean by "fraud garbage"? I personally am not aware of any malicious package in the Racket ecosystem.
      • fn-mote 4 hours ago
        Perhaps they are referring to the fact that the package server does not hide the email of the contributor?

        Not that this is a complaint worth airing on HN.

        Solution: just block the alias that you use for the submission…

      • threatofrain 3 hours ago
        > Being a contributor on there
        • sorawee 2 hours ago
          Ah, I see what you mean now. Yeah, that was indeed problematic. We kinda fixed this issue a while back by obfuscating emails (https://github.com/racket/racket-pkg-website/pull/88), but it doesn't help with already scraped emails. Also, the raw emails are still technically readable if one knows where to look at.