Cambridge Journals Online

Cambridge Journals Online
Skip to content
Journal of Functional Programming (2005), 15 : 797-835 Cambridge University Press
Copyright © 2005 Cambridge University Press
doi:10.1017/S0956796805005617
Published online by Cambridge University Press 06 Oct 2005


Article

Meta-programming through typeful code representation


CHIYAN CHEN a1 and HONGWEI XI a1
a1 Computer Science Department, Boston University, Boston, MA, USA (email: chiyan@cs.bu.edu, hwxi@cs.bu.edu)

Article author query
chen c   [Google Scholar
xi h   [Google Scholar
 

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.

(Published Online October 6 2005)



back to top
Cambridge University Press