dexterlagan 4 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 3 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/

  • klez 1 hour 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?

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

  • piloto_ciego 8 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!

    • giraffe_lady 7 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 7 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 6 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 5 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!

    • arvyy 4 hours ago

      you might be interested in Hy lang

  • arvyy 4 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 3 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.

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

  • soanvig 1 hour 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.

antonyragleap 5 hours ago

The practicality of Racket is interesting; sometimes a language wins simply because its ecosystem makes certain tasks much easier.

behnamoh 9 hours ago

I wish they had chosen a more "modern" name for the language.

  • jambutters 9 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"

    • peesem 9 hours ago

      well, i also have to type "rhombus language" to get relevant results for the rhombus language

    • jimbob45 9 hours ago

      .NET/.NET Core/.NET Framework migration is painful because of this. VS/VSCode is sometimes only possible with AI’s help.

    • sudahtigabulan 5 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].

      • neilv 4 hours ago

        A funny thing was, when the rename to Racket was still fairly new, someone started looking into adopters in the finance space.

      • Y_Y 1 hour 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.

  • Jtsummers 9 hours ago

    What would be a modern name for a language?

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