CommonLoops: merging Lisp and object-oriented programming

Daniel G. Bobrow, Kenneth Kahn, Gregor Kiczales, Larry Masinter, Mark Stefik, Frank Zdybel
1986 SIGPLAN notices  
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 inuoked 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
more » ... s of CommonLoops is its extenswe 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.
doi:10.1145/960112.28700 fatcat:qexfmdyk3fdxdnwsx3gm2hlxwe