Building a path from language user to sophisticated DSL creator in Racket
Michael Ballantyne
Date: Wed, March 31, 2021
Time: 15:00
Room: Eelco's Zoom Room
Programmers in Racket gradually learn to create domain-specific languages, first via macros that serve as simple syntactic abstractions, and later as libraries of macros that work together to create complete DSLs. Racket’s macro technology smooths the way via expressive syntax matching and templating, automatic name hygiene, and safe separate compilation. However, conventional macros are limited: DSLs with static semantics and optimizing compilers remain difficult to implement and integrate with the host language. This talk describes our work on new tools to support these features. First, an architecture and reflective API for building extensible DSLs that macro-expand to a DSL core language, enabling traditional compilation techniques. Second, a work-in-progress design for a declarative meta-language to allow Racket programmers to create sophisticated DSLs without deep knowledge of the macro system.
Previous:
| Soham Chakraborty joins TU Delft Programming Languages group as assistant professor
Next:
Burcu Kulahcioglu Ozkan | Testing Consensus Implementations Using Communication Closure