CommonLoops (the Common Lisp Object-Oriented Programming System; an acronym reminiscent of the earlier Lisp OO system "Loops" for the Interlisp-D system) is an early programming language which extended Common Lisp to include Object-oriented programming functionality and is a dynamic object system which differs from the OOP facilities found in static languages such as C++ or Java. Like New Flavors, CommonLoops supported multiple inheritance, generic functions and method combination. CommonLoops also supported multi-methods and made use of metaobjects. CommonLoops and New Flavors were the primary ancestors of CLOS. CommonLoops was supported by a portable implementation known as Portable CommonLoops (PCL) which ran on all Common Lisp implementations of the day.
- pg 18 of Bobrow 1986
- pg 24 of Bobrow 1986
- "Symbolics (1985) was using New Flavors (a message-sending model, like Java today), Xerox was using CommonLoops (Bobrow et al., 1986), Lisp Machine Incorporated was using Object Lisp , and Hewlett-Packard proposed using Common Objects (Kempf, 1987). The groups vied with each other in the context of the standardization effort going on for Common Lisp at the time and finally settled on a standard based on CommonLoops and New Flavors." pg 108 of Veitch 1998.
- "CommonLoops: merging Lisp and object-oriented programming" CommonLoops, Merging Lisp and Object-Oriented Programming, by Daniel G. Bobrow, Kenneth Kahn, Gregor Kiczales, Larry Masinter, Mark Stefik, Frank Zdybel. 1986, Portland, Oregon, United States. Pages 17 - 29 of the Conference on Object Oriented Programming Systems Languages and Applications, ISSN 0362-1340.
- "A History and Description of CLOS", by Jim Veitch. Pages 107-158 of Handbook of Programming Languages, Volume IV: Functional and Logic Programming Languages, ed. Peter H. Salus. 1998 (1st edition), Macmillan Technical Publishing; ISBN 1-57870-011-6
- The Loops Manual, Daniel G. Bobrow, Mark Stefik. Intelligent Systems Laboratory, Xerox Corporation, 1983
|This programming-language-related article is a stub. You can help Wikipedia by expanding it.|