Issue No.01 - January/February (2008 vol.25)
Diomidis Spinellis , Athens University of Economics and Business
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2008.15
Metaprogramming takes place when programs manipulate other programs. It is a powerful but tricky technique that can lead to unmaintainable code and bugs. None of the many current approaches to metaprogramming is mature. An ideal solution would use the same language for programming and metaprogramming. The language would be based on a small set of familiar programming constructs, and its compile-time objects would be first class citizens guaranteed to be syntactically correct and valid.
metaprogramming, functional programming, templates, generative programming
Diomidis Spinellis, "Rational Metaprogramming", IEEE Software, vol.25, no. 1, pp. 78-79, January/February 2008, doi:10.1109/MS.2008.15