Hacker News new | ask | show | jobs
by adastra22 683 days ago
I didn't. Still not a single explanation of what the language is / what its designers are trying to do.
5 comments

The OOPSLA paper is more interesting: 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.

Also not sure. I'm guessing it's some kind of Lisp bracketectomy - i.e. Lisp without the parentheses.
Yes. It's a bracketectomy on Racket that's designed to (unlike previous bracketectomies) retain all the metaprogramming goodness of Lisp.
Parens-less(er) Lisp, whitespace/indentation-based s-expressions.
Looks like "yet another Lisp without s-exprs for babby ducks". I'd probably go the Julia route if this is what I wanted, personally.
You 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.

> I was kinda hoping to see this was the next generation of Lisp language design, but it appears to be just a different syntax.

Dig deeper in the reference documentation.

It does things Lisp doesn't do?
I a not sure which Lisp you are thinking of, but compared to a "standard" Lisp you might be interested in how the module system interacts with the macro system. In particular the concept of a tower of phases.
Thanks, I'll look into that!