Flexible Metaprogramming with Rhombus
5 hours ago
- #syntax
- #programming-language
- #metaprogramming
- Rhombus is a new programming language combining Racket's metaprogramming with Python-like syntax.
- It uses indentation-based syntax with ':' for blocks and '|' for branch separation, similar to Python.
- Rhombus supports immutable data structures by default, using tree-based lists for efficient operations.
- The language features advanced for loops with reducers (e.g., math.product) for concise code.
- Macros in Rhombus use syntax objects with metadata for error handling and hygienic/non-hygienic options.
- It allows user-defined grammatical contexts and extensions, supporting language-oriented programming.
- Rhombus includes gradual typing with annotations for error messages and performance optimization.
- The language is backed by the Racket project, licensed under MIT/Apache 2.0, and suitable for academic and professional use.