Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference12 articles.
1. Bobrow D. G. Fogelsong D. J. Miller M.S. Definitwn Groups Making Sources First Class Objects ISL Report Xerox PARC 1986 Bobrow D. G. Fogelsong D. J. Miller M.S. Definitwn Groups Making Sources First Class Objects ISL Report Xerox PARC 1986
2. Bobrow Daniel G. and Stefik Mark. "Perspectives on Artificial Intelligence Programming'; Science V231 No 4741 p 951 February 28 1986 Bobrow Daniel G. and Stefik Mark. "Perspectives on Artificial Intelligence Programming'; Science V231 No 4741 p 951 February 28 1986
3. ObjectLISP User Manual LMI 1000 Massachusetts Avenue Cambridge MA 02138. ObjectLISP User Manual LMI 1000 Massachusetts Avenue Cambridge MA 02138.
Cited by
42 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Decidable Subtyping of Existential Types for Julia;Proceedings of the ACM on Programming Languages;2024-06-20
2. World age in Julia: optimizing method dispatch in the presence of eval;Proceedings of the ACM on Programming Languages;2020-11-13
3. Codata in Action;Programming Languages and Systems;2019
4. Recognizing heterogeneous sequences by rational type expression;Proceedings of the 3rd ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection;2018-11-05
5. External Dispatch: Yet Another Object-Oriented Single and Multiple Dispatch Mechanism.;The Journal of Object Technology;2017