|
| | | |
Towards a Fully-reflective Meta-programming Language
Neverov, G. and Roe, P.
The term meta-programming language is used to describe languages that have some capability for manipulating code. A multi-stage language is a kind of meta-programming language that allows static type- checking of dynamically generated code. The expressiveness and type-safety of multi-stage languages have led to their success in many applications that require code generation. This paper presents the design of a multi-stage language that is an extension to a traditional object-oriented language (e.g. C# or Java). The language has a static type system and allows types and code to be manipulated dynamically, hence giving it full reflection over the structure of a program. The language is discussed through a series of examples on run-time optimisation, serialiser generation and compiler construction. A prototype compiler for the language has been implemented which targets Microsoft's Common Language Runtime (.NET). |
Cite as: Neverov, G. and Roe, P. (2005). Towards a Fully-reflective Meta-programming Language. In Proc. Twenty-Eighth Australasian Computer Science Conference (ACSC2005), Newcastle, Australia. CRPIT, 38. Estivill-Castro, V., Ed. ACS. 151-158. |
(from crpit.com)
(local if available)
|
|