Metaphor: A Multi-Stage, Object-Oriented Programming Language

Neverov, Gregory M. & Roe, Paul (2004) Metaphor: A Multi-Stage, Object-Oriented Programming Language. In Karsai, G. & Visser, E. (Eds.) Generative Programmiing and Software Engineering, 24-28 October, Vancouver, Canada.

View at publisher


This paper presents a language (called Metaphor) for expressing staged programs in a strongly-typed, imperative, object-oriented environment. The language is based on a subset of C# or Java; it is multi-stage and provides static type checking of later stage code. Object-oriented frameworks usually offer a type introspection or reflection capability to discover information about types at run-time. Metaphor allows this reflection system to be incorporated into the languages staging constructs, thus allowing the generation of code based on the structure of types – a common application for code generation in these environments. The paper presents the language, gives a formal description of its type system and discusses a prototype implementation of the language as a compiler targeting the .NET Common Language Runtime.

Impact and interest:

2 citations in Scopus
Search Google Scholar™
3 citations in Web of Science®

Citation counts are sourced monthly from Scopus and Web of Science® citation databases.

These databases contain citations from different subsets of available publications and different time periods and thus the citation count from each is usually different. Some works are not in either database and no count is displayed. Scopus includes citations from articles published in 1996 onwards, and Web of Science® generally from 1980 onwards.

Citations counts from the Google Scholar™ indexing service can be viewed at the linked Google Scholar™ search.

ID Code: 9986
Item Type: Conference Paper
Refereed: No
Additional Information: For more information, please refer to the publisher website (see hypertext link) or contact the authors.
DOI: 10.1007/b101929
ISBN: 3540235809
ISSN: 1611-3349
Divisions: Past > QUT Faculties & Divisions > Faculty of Science and Technology
Copyright Owner: Copyright 2004 Springer
Deposited On: 11 Oct 2007 00:00
Last Modified: 29 Feb 2012 13:07

Export: EndNote | Dublin Core | BibTeX

Repository Staff Only: item control page