Funcons for HGMP

The fundamental constructs of homogeneous generative meta-programming

By L. Thomas van Binsbergen

Abstract

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.

Publication info

DOI: https://doi.org/10.1145/3278122.3278132
Conference: Generative Programming: Concepts and Experiences (GPCE) 2018
Publisher: ACM

Accompanying Haskell tools

Tools for building and executing funcon terms, including an extensible interpreter:
https://hackage.haskell.org/package/funcons-tools-0.2.0.5
Funcon term interpreter for the SIMPLE language:
https://hackage.haskell.org/package/funcons-lambda-cbv-mp-0.1.0.2