2008
DOI: 10.1007/s10990-007-9022-0
|View full text |Cite
|
Sign up to set email alerts
|

Directly reflective meta-programming

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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 13 publications
(3 citation statements)
references
References 35 publications
0
3
0
Order By: Relevance
“…The axiomatic semantics of HGMP is explored in [2]. Some original approaches towards the foundations of run-time HGMP are: M-LISP [26] which provides an operational semantics for a simplified Lisp variant with eval but without macros; Archon [34], which is based on the untyped λ-calculus but without an explicit representation of code; the two-level λ-calculus [15] which is based on nominal techniques; and the ρ-calculus [25] which combines ideas from Conway games and π-calculus.…”
Section: :20mentioning
confidence: 99%
“…The axiomatic semantics of HGMP is explored in [2]. Some original approaches towards the foundations of run-time HGMP are: M-LISP [26] which provides an operational semantics for a simplified Lisp variant with eval but without macros; Archon [34], which is based on the untyped λ-calculus but without an explicit representation of code; the two-level λ-calculus [15] which is based on nominal techniques; and the ρ-calculus [25] which combines ideas from Conway games and π-calculus.…”
Section: :20mentioning
confidence: 99%
“…To gain some insight into the construction defined above, one can observe that it is related to an encoding of data attributed to Scott 3 (and thus commonly referred to in the literature as the Scott encoding), which has subsequently been developed by others (e.g. [30,27,16,31]). In the more familiar 'standard' encoding of functions, a fixed-point combinator is used to solve any recursion in the definition.…”
Section: T K Beginning With T I ;mentioning
confidence: 99%
“…This encoding is relatively unknown, and independently (re)discovered by several authors (e.g. [9,8,10] and the author of this paper [6]), but originally attributed to Scott in an unpublished lecture which is cited in Curry, Hindley and Seldin ( [4] 1 We will therefore call it the Scott encoding. The encoding results in a representation that is very close to algebraic data types as they are used in most functional programming languages.…”
Section: The Church and Scott Encodings For Algebraic Data Typesmentioning
confidence: 99%