Rhombus: A New Spin on Macros without All the Parentheses
summary
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
chapters (10)
- 0:00Rhombus introduction
- 1:06Language-oriented programming
- 3:14Rhombus macro examples
- 6:45Rhombus vs macro systems
- 9:33Shrubbery notation
- 12:00Parsing and macro expansion
- 13:24Static types in Rhombus
- 15:30Rhombus in education
- 16:34Summary and future
- 16:54Q&A: Editor support
related talks
59mThe Rhombus Programming Language
56mRhombus: The Non-shrubbery Parts (Keynote)
01h 03mModern Macros
17mMacros for Domain-Specific Languages
40mLet's Build a Hygienic Macro Expander
23mMacro-embedding Compiler Intermediate Languages in Racket
25mRewriting Macros on the Fly: A Modular Approach to Administrative Reduction During(…)
42mThe Macronomicon
