The Dolorem Pattern: Growing a Language Through Compile-Time Function Execution

Published: 01 Aug 2023, Last Modified: 25 Jan 202637th European Conference on Object-Oriented Programming (ECOOP 2023).EveryoneCC BY 4.0
Abstract: Programming languages are often designed as static, monolithic units. As a result, they are inflexible. We show a new mechanism of programming language design that allows to more flexible languages: by using compile-time function execution and metaprogramming, we implement a language mostly in itself. Our approach is usable for creating feature-rich, yet low-overhead system programming languages. We illustrate it on two systems, one that lowers to C and one that lowers to LLVM.
Loading