Compile-time meta-programming in Converge

Laurence Tratt. Compile-time meta-programming in Converge. Technical Report TR-04-11, Department of Computer Science, King's College London, December 2002.


Compile-time meta-programming allows programs to be constructed by the user at compile-time. 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 compiletime meta-programming features into a dynamic language requires few restrictions to the exible development style facilitated by the paradigm.