Journal article
Directly reflective meta-programming
Higher-Order and Symbolic Computation, Vol.22(2), pp.115-144
01/04/2008
DOI: 10.1007/s10990-007-9022-0
Abstract
Existing meta-programming languages operate on encodings of programs as data. This paper presents a new meta-programming language, based on an untyped lambda calculus, in which structurally reflective programming is supported directly, without any encoding. The language features call-by-value and call-by-name lambda abstractions, as well as novel reflective features enabling the intensional manipulation of arbitrary program terms. The language is scope safe, in the sense that variables can neither be captured nor escape their scopes. The expressiveness of the language is demonstrated by showing how to implement quotation and evaluation operations, as proposed by Wand. The language’s utility for meta-programming is further demonstrated through additional representative examples. A prototype implementation is described and evaluated.
Details
- Title: Subtitle
- Directly reflective meta-programming
- Creators
- Aaron Stump - Washington University in St. Louis
- Resource Type
- Journal article
- Publication Details
- Higher-Order and Symbolic Computation, Vol.22(2), pp.115-144
- Publisher
- Springer US
- DOI
- 10.1007/s10990-007-9022-0
- ISSN
- 1388-3690
- eISSN
- 1573-0557
- Language
- English
- Date published
- 01/04/2008
- Academic Unit
- Computer Science
- Record Identifier
- 9984259438702771
Metrics
3 Record Views