5 ms·
I feel like a link to a 'pitch' or description of the Rhombus language would've been more insightful for most of us. Even being familiar with Racket, I don't kn
by TwentyPosts 2y ago
I feel like a link to a 'pitch' or description of the Rhombus language would've been more insightful for most of us. Even being familiar with Racket, I don't know what Rhombus is.
- metadat 2y agoAgreed. Here's the link I found more informative: https://docs.racket-lang.org/rhombus/index.html https://docs.racket-lang.org/rhombus/index.html
- adastra22 2y agoI didn't. Still not a single explanation of what the language is / what its designers are trying to do.
- philipswood 2y agoAlso not sure. I'm guessing it's some kind of Lisp bracketectomy - i.e. Lisp without the parentheses.
- Tuna-Fish 2y agoYes. It's a bracketectomy on Racket that's designed to (unlike previous bracketectomies) retain all the metaprogramming goodness of Lisp.
- dualogy 2y agoParens-less(er) Lisp, whitespace/indentation-based s-expressions.
- BoingBoomTschak 2y agoLooks like "yet another Lisp without s-exprs for babby ducks". I'd probably go the Julia route if this is what I wanted, personally.
- adastra22 2y agoYou are being down-voted for the snark, but there is point there. This seems to be "people use Python because of the whitespace, so let's remove parenthesis." Which if true, is (1) vastly missing the point, and (2) this project isn't really exploring any fundamentally new areas of language design then. I was kinda hoping to see this was the next generation of Lisp language design, but it appears to be just a different syntax.
- fgh 2y agoThe OOPSLA paper is more interesting: https://dl.acm.org/doi/pdf/10.1145/3622818 https://dl.acm.org/doi/pdf/10.1145/3622818 Abstract: Rhombus is a new language that is built on Racket. It offers the same kind of language extensibility as Racket itself, but using conventional (infix) notation. Although Rhombus is far from the first language to support Lisp-style macros without Lisp-style parentheses, Rhombus offers a novel synthesis of macro technology that is practical and expressive. A key element is the use of multiple binding spaces for context-specific sublanguages. For example, expressions and pattern-matching forms can use the same operators with different meanings and without creating conflicts. Context-sensitive bindings, in turn, facilitate a language design that reduces the notational distance between the core language and macro facilities. For example, repetitions can be defined and used in binding and expression contexts generally, which enables a smoother transition from programming to metaprogramming. Finally, since handling static information (such as types) is also a necessary part of growing macros beyond Lisp, Rhombus includes support in its expansion protocol for communicating static information among bindings and expressions. The Rhombus implementation demonstrates that all of these pieces can work together in a coherent and user-friendly language.
- mkl 2y agoThis says more of that sort of thing: https://github.com/racket/rhombus/blob/master/resources/plan.md https://github.com/racket/rhombus/blob/master/resources/plan...
- stodor89 2y agoIs that the "Racket 2" thing they wanted to make some time ago?
- pas 2y agoYes
- int0x29 2y agoIt would also help to have such a description in the README
- noelwelsh 2y agoThe pitch, compared to Racket, is conventional yet still extensible syntax.
- xscott 2y agoI'll have to read about why they made the choices they made, but it reminds me of going to a microbrewery: You tell them you like simple (American) macrobrews, and they say they have just the thing. What arrives is a light lager that tastes awful because they think macrobrews beers are awful. So they made an awful beer that doesn't taste like a macrobrew. I don't think Rhombus is going to appeal to people that are comfortable with Python, C, Java, Go, JavaScript, etc... It's got infix, but it's cryptic. It seems like a step back from StandardML or Ocaml. Maybe there's a justification in terms of how the macros work. Maybe they're poisoning the well to make Lisp syntax more appealing. I'll try to reserve judgment, but so far I'd rather program in Scheme/Racket than this.
- pas 2y agoAs someone who gets the shakes from looking at too many parenthesis I think it's a great step in the right direction. A few weeks ago I went through the "GUI demo" source, and it's not bad. Of course just reading it doesn't tell much about what's the IDE support, how easy it is to figure out the arguments/types. (But it's rhombus/static, which is encouraging!) https://github.com/racket/rhombus/blob/master/gui_demo.rhm https://github.com/racket/rhombus/blob/master/gui_demo.rhm
- noelwelsh 2y agoI don't think the Racket/Rhombus developers are really trying for adoption. They're trying to push the field forward via their research. Creating these useful programming languages is how they validate their research, but the end goal is not to grab a large share of working developers but to grab mindshare of the few developers who create the future of programming. In this they have been quite successful.
- xscott 2y ago