Sciweavers

OOPSLA
2004
Springer

Mirrors: design principles for meta-level facilities of object-oriented programming languages

13 years 9 months ago
Mirrors: design principles for meta-level facilities of object-oriented programming languages
We identify three design principles for reflection and metaprogramming facilities in object oriented programming languages. Encapsulation: meta-level facilities must encapsulate their implementation. Stratification: meta-level facilities must be separated from base-level functionality. Ontological correspondence: the ontology of meta-level facilities should correspond to the ontology of the language they manipulate. Traditional/mainstream reflective architectures do not follow these precepts. In contrast, reflective APIs built around the concept of mirrors are characterized by adherence to these three principles. Consequently, mirror-based architectures have significant advantages with respect to distribution, deployment and general purpose metaprogramming. Categories and Subject Descriptors D.3.2 [Language Classifications]: Object-oriented languages. General Terms Design, Languages. Keywords Reflection, Metaprogramming, Mirrors, Java, Self, Smalltalk.
Gilad Bracha, David Ungar
Added 02 Jul 2010
Updated 02 Jul 2010
Type Conference
Year 2004
Where OOPSLA
Authors Gilad Bracha, David Ungar
Comments (0)