Metagene, a C++ meta-program generation tool
From LRDE
- Authors
- Francis Maes
- Where
- Proceedings of the Workshop on Multiple Paradigm with OO Languages (MPOOL; in conjunction with ECOOP)
- Place
- Oslo, Norway
- Type
- inproceedings
- Projects
- Software"Software" is not in the list (Vaucanson, Spot, URBI, Olena, APMC, Tiger, Climb, Speaker ID, Transformers, Bison, ...) of allowed values for the "Related project" property.
- Date
- 2004-05-25
Abstract
The C++ language offers a two layer evaluation model. Thus, it is possible to evaluate a program in two steps: the so-called static and dynamic evaluations. Static evaluation is used for reducing the amount of work done at execution-time. Programs executed statically (called metaprograms) are written in C++ through an intensive use of template classes. Due to the complexity of these structures, writing, debugging and maintaining C++ meta-programs is a difficult task. Metagene is a program transformation tool which simplifies the development of such programs. Due to the similarities between C++ meta-programming and functional programming, the input language of Metagene is an ML language. Given a functional input program, Metagene outputs the corresponding C++ meta-program expressed using template classes.
Documents
Bibtex (lrde.bib)
@InProceedings{ maes.04.mpool, author = {Francis Maes}, title = {Metagene, a {C++} meta-program generation tool}, booktitle = {Proceedings of the Workshop on Multiple Paradigm with OO Languages (MPOOL; in conjunction with ECOOP)}, year = 2004, address = {Oslo, Norway}, month = jun, abstract = {The C++ language offers a two layer evaluation model. Thus, it is possible to evaluate a program in two steps: the so-called static and dynamic evaluations. Static evaluation is used for reducing the amount of work done at execution-time. Programs executed statically (called metaprograms) are written in C++ through an intensive use of template classes. Due to the complexity of these structures, writing, debugging and maintaining C++ meta-programs is a difficult task. Metagene is a program transformation tool which simplifies the development of such programs. Due to the similarities between C++ meta-programming and functional programming, the input language of Metagene is an ML language. Given a functional input program, Metagene outputs the corresponding C++ meta-program expressed using template classes.} }