Mirrors: design principles for meta-level facilities of object-oriented programming languages
Mirrors: design principles for meta-level facilities of object-oriented programming languages
复制标题
DOI:
10.1145/1028976.1029004
复制
发表时间:
2004-10
期刊:
影响因子:
--
通讯作者:
Gilad Bracha;D. Ungar
中科院分区:
文献类型:
--
作者:
Gilad Bracha;D. Ungar
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.