The fundamental constructs of homogeneous generative meta-programming
The PLanCompS project proposes a component-based approach to programming-language development in which fundamental constructs (funcons) are reused across language definitions. Homogeneous Generative Meta-Programming (HGMP) enables writing programs that generate code as data, at run-time or compile-time, for manipulation and staged evaluation. Building on existing formalisations of HGMP, this paper introduces funcons for HGMP and demonstrates their usage in component-based semantics.
The full version of this article is available on the author’s personal webpage.
Conference: Generative Programming: Concepts and Experiences (GPCE) 2018
Accompanying Haskell tools
Tools for building and executing funcon terms, including an extensible interpreter:
Funcon term interpreter for the SIMPLE language: