Mirrors: design principles for meta-level facilities of object-oriented programming languages
G Bracha, D Ungar - ACM SIGPLAN Notices, 2004 - dl.acm.org
G Bracha, D Ungar
ACM SIGPLAN Notices, 2004•dl.acm.orgWe 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 …
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 …
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.
Showing the best result for this search. See all results