Portable Common Loops

Portable Common Loops (PCL) is a platform independent CLOS implementation for LISP systems. It was not quite complete when it was first released, it is missing the :METHOD option to DEFGENERIC but most distributions of the library have patches that add this capability. It was originally designed to add object oriented capabilities to Common Lisp implementations that were missing the feature, but in the latter half of the 80s that was actually quite common as the CLOS system was quite expensive in computer cycles.

Almost all modern Common Lisp implementations have CLOS, in fact a number of implementations such as GNU Common Lisp sport a CLOS system that is actually derived from PCL. All this making the package somewhat redundant, however there is still some value to PCL for systems that are partially CL compatible and for embedded LISP implementations that are quite CL compatible but omit CLOS, you can then add O-O capabilities to your scripts by calling the PCL library, although you might have to modify the library a bit to fit the target system.

The authors of Portable Common Loops also implemented another more experimental library called Closette that is not a full CLOS implementation but contains support for meta-objects.

Versions

 * Portable Common Loops september 1992 f (Last known version)

Links

 * PCL reprisotory at cmu.edu

Publications

 * Gregor Kiczales, Jim des Rivieres, Daniel G. Bobrow: The Art of the Metaobject Protocol - MIT Press 1991, ISBN 0-262-61074-4
 * Gregor Kiczales, Luis H. Rodriguez Jr.: Efficient Method Dispatch in PCL - 1990

License

 * Open source. "Copyright (c) 1992 by Xerox Corporation. Use, copying, modification and distribution permitted."

Authors

 * Xerox Corporation
 * Gregor Kiczales
 * Jim des Rivieres