Compile-time meta-programming in a dynamically typed OO language (2005)
| Venue: | In: Proceedings Dynamic Languages Symposium |
| Citations: | 8 - 6 self |
BibTeX
@INPROCEEDINGS{Tratt05compile-timemeta-programming,
author = {Laurence Tratt},
title = {Compile-time meta-programming in a dynamically typed OO language},
booktitle = {In: Proceedings Dynamic Languages Symposium},
year = {2005},
pages = {49--64}
}
OpenURL
Abstract
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. 1.







