Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
@article{CX-JFP05,
author = "Chiyan Chen and Hongwei Xi",
title = {{Meta-Programming through Typeful Code Representation}},
journal = "Journal of Functional Programming",
year = 2005,
volume = "15",
number = "6",
pages = "797-835",
abstract = {{
By allowing the programmer to write code that can generate code at
run-time, meta-programming offers a powerful approach to program
construction. For instance, meta-programming can often be employed to
enhance program efficiency and facilitate the construction of generic
programs. However, meta-programming, especially in an untyped setting, is
notoriously error-prone. In this paper, we aim at making meta-programming
less error-prone by providing a type system to facilitate the construction
of correct meta-programs. We first introduce some code constructors for
constructing typeful code representation in which program variables are
represented in terms of deBruijn indexes, and then formally demonstrate how
such typeful code representation can be used to support meta-programming.
With our approach, a particular interesting feature is that code becomes
first-class values, which can be inspected as well as executed at run-time.
The main contribution of the paper lies in the recognition and then the
formalization of a novel approach to typed meta-programming that is
practical, general and flexible.
}}
}