~/talk

Rhombus: A New Spin on Macros without All the Parentheses

Talkat OOPSLA 2023 · 2023-10-23..10-27· [compilers-and-language-design]
links:none on file
links:none on file
name:Nia Angle
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Rhombus is a new language implemented on Racket that replaces prefix s-exprs with an infix-friendly Shrubbery token-tree, interleaves macro expansion with an enforesting parser, and exposes multiple binding spaces so bindings, expressions, and annotations can define distinct parsing and expansion rules. The implementation includes a data-type macro, a regex sublanguage, and a colon-based annotation protocol for static information; it already hosts an ML-like type system (Spate) with inference used successfully in a teaching course and has reusable artifacts evaluated.

AI-written summary · about

  1. 0:00Rhombus introduction
  2. 1:06Language-oriented programming
  3. 3:14Rhombus macro examples
  4. 6:45Rhombus vs macro systems
  5. 9:33Shrubbery notation
  6. 12:00Parsing and macro expansion
  7. 13:24Static types in Rhombus
  8. 15:30Rhombus in education
  9. 16:34Summary and future
  10. 16:54Q&A: Editor support
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.