CommonLoops

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.

References

  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.

Further reading