DocumentCode :
1027030
Title :
Rational Metaprogramming
Author :
Spinellis, Diomidis
Author_Institution :
Athens Univ. of Econ. & Bus., Athens
Volume :
25
Issue :
1
fYear :
2008
Firstpage :
78
Lastpage :
79
Abstract :
Metaprogramming, using programs to manipulate other programs, is as old as programming. From self-modifying machine code in early computers to expressions involving partially applied functions in modern functional-programming languages, metaprogramming is an essential part of an advanced programmer´s arsenal. Everyday metaprogramming involves on-the-fly code production. Representative examples include dynamically generated SQL statements and code created for evaluation at runtime in interpreted languages. Metaprogramming also occurs in programs that spew out HTML or XML. Although we can´t classify these markup languages as code, their rich syntactic structure qualifies their generation as metaprogramming. Unfortunately, we commonly produce code on the fly by simply pasting together character strings. This means that it´s difficult to verify essential properties of the generated code - such as validity, correctness, and safety - at compile time.
Keywords :
SQL; object-oriented programming; program compilers; program verification; software tools; HTML; SQL statements; XML; code generation; functional-programming languages; program verification; rational metaprogramming; self-modifying machine code; Computer bugs; Computer languages; DSL; HTML; Instruments; Java; Libraries; Power generation; Production; Runtime; functional programming; generative programming; metaprogramming; templates;
fLanguage :
English
Journal_Title :
Software, IEEE
Publisher :
ieee
ISSN :
0740-7459
Type :
jour
DOI :
10.1109/MS.2008.15
Filename :
4420074
Link To Document :
بازگشت