From Wikipedia, the free encyclopedia

CommonLoops (the Common Lisp Object-Oriented Programming System;[1] an acronym reminiscent of the earlier Lisp OO system "Loops" for the Interlisp-D system[2]) 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.[3] CommonLoops was supported by a portable implementation known as Portable CommonLoops (PCL) which ran on all Common Lisp implementations of the day.


  1. ^ pg 18 of Bobrow 1986
  2. ^ pg 24 of Bobrow 1986
  3. ^ "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.
  • Bobrow, Daniel G.; Kahn, Kenneth; Kiczales, Gregor; Masinter, Larry; Stefik, Mark; Zdybel, Frank (June 1986). "CommonLoops: Merging Lisp and Object-Oriented Programming" (PDF). Conference proceedings on Object-oriented Programming Systems Languages and Applications. OOPSLA '86. pp. 17–29. doi:10.1145/28697.28700. ISBN 978-0-89791-204-4. S2CID 62631315. Retrieved 2022-03-17.
  • Veitch, Jim (1998). "A History and Description of CLOS". In Salus, Peter H. (ed.). Handbook of Programming Languages, Volume IV: Functional and Logic Programming Languages (1st ed.). Macmillan Technical Publishing. pp. 107–158. ISBN 1-57870-011-6.

Further reading[edit]

  • The Loops Manual, Daniel G. Bobrow, Mark Stefik. Intelligent Systems Laboratory, Xerox Corporation, 1983