Sublanguages in Rhombus

03/03/2023, 3pm

Speaker

Matthew Flatt

Abstract

Rhombus is a new language that is built on Racket. It offers the same kind of language extensibility as Racket itself, but using traditional (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. The most significant departure from Racket, apart from the shift away from parentheses, is the use of multiple binding spaces for context-specific sublanguages. For example, expressions, pattern-matching forms, and regular-expression constructions can use the same operators (with different meanings) without creating conflicts. Rhombus "closes the loop" on binding spaces and sublanguages by giving programmers the ability to create their own new spaces and sublanguages.

Bio

Matthew is a Racketeer from the University of Utah who is at NUS for the 2022-23 academic year.

Links: