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
期刊:
Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
影响因子:
--
通讯作者:
Gilad Bracha;D. Ungar
Gilad Bracha;D. Ungar
中科院分区:
其他
文献类型:
--
作者:
Gilad Bracha;D. Ungar

文献摘要

被引文献

相似文献

我们确定了三个设计原则,反射和元编程设施面向对象的编程语言。封装:元级设施必须封装它们的实现。分层:元级功能必须与基本级功能分离。本体对应:元级设施的本体应该对应于它们所操作的语言的本体。传统/主流的反射架构并不遵循这些规则。相比之下,围绕镜像概念构建的反射API的特点是遵守这三个原则。因此,基于镜像的架构在分发、部署和通用元编程方面具有显著的优势。
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.