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
中科院分区:
文献类型:
--
作者:
D. Bobrow;K. Kahn;G. Kiczales;L. Masinter;M. Stefik;Frank Zdybel
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.