Compile-time meta-programming in a dynamically typed OO language.

Tratt, Laurence (2005) Compile-time meta-programming in a dynamically typed OO language. In: Dynamic language symposium, 2005. Association for Computing Machinery (ACM Portal), New York, pp. 49-64.

Download (291kB)


Compile-time meta-programming allows programs to be constructed by the user at compile-time. Although LISP derived languages have long had such facilities, few modern
languages are capable of compile-time meta-programming,
and of those that do many of the most powerful are statically typed functional languages. In this paper I present the dynamically typed object orientated language Converge which allows compile-time meta-programming in the spirit of Template Haskell. Converge demonstrates that integrating powerful, safe compile-time meta-programming features into a dynamic language requires few restrictions to the flexible development style facilitated by the paradigm. In this paper I detail Converge’s compile-time meta-programming facilities, much of which is adapted from Template Haskell, contain several features new to the paradigm. Finally I explain how such a facility might be integrated into similar languages.

Item Type: Book Section
Research Areas: A. > School of Science and Technology > Computer and Communications Engineering
Item ID: 5919
Depositing User: Dr Laurence Tratt
Date Deposited: 27 May 2010 13:14
Last Modified: 13 Oct 2016 14:19

Actions (login required)

Edit Item Edit Item

Full text downloads (NB count will be zero if no full text documents are attached to the record)

Downloads per month over the past year