CommonLoops: merging Lisp and object-oriented programming

CommonLoops: merging Lisp and object-oriented programming
复制标题

CommonLoops:融合 Lisp 和面向对象编程

DOI:
10.1145/28697.28700
复制
发表时间:
1986
期刊:
影响因子:
4.6
通讯作者:
Frank Zdybel
Frank Zdybel
中科院分区:
综合性期刊3区
文献类型:
--
作者:
D. Bobrow;K. Kahn;G. Kiczales;L. Masinter;M. Stefik;Frank Zdybel

文献摘要

被引文献

相似文献

CommonLoops将面向对象编程与Lisp的面向过程设计平滑而紧密地结合在一起。函数和方法在更一般的抽象中结合在一起。消息传递是通过普通的Lisp函数调用来调用的。方法被看作是对过程的部分描述。Lisp数据类型与对象类集成在一起。通过这些集成,可以很容易地在过程和面向对象风格之间逐步移动程序。 CommonLoops最重要的特性之一是它对元对象的广泛使用。我们讨论了三种元对象:类对象、方法对象和判别器对象。我们认为,这些元对象实际有效的实现和实验与面向对象编程的新思想。 CommonLoops的小内核功能强大,足以实现当今使用的主要面向对象系统。
CommonLoops blends object-oriented programming smoothly and tightly with the procedure-oriented design of Lisp. Functions and methods are combined in a more general abstraction. Message passing is invoked via normal Lisp function call. Methods are viewed as partial descriptions of procedures. Lisp data types are integrated with object classes. With these integrations, it is easy to incrementally move a program between the procedure and object-oriented styles. One of the most important properties of CommonLoops is its extensive use of meta-objects. We discuss three kinds of meta-objects: objects for classes, objects for methods, and objects for discriminators. We argue that these meta-objects make practical both efficient implementation and experimentation with new ideas for object-oriented programming. CommonLoops' small kernel is powerful enough to implement the major object-oriented systems in use today.