[comp.lang.clos] What is PCL?

jncs@uno.edu (01/30/91)

I started following this news group recently. I have become familiar with
CLOS by reading only as part of my "education" on OOPL's. could anybody
give me any hint on PCL.

Thanks

moss@cs.umass.edu (Eliot Moss) (01/30/91)

PCL = Portable Common Lisp. Now maybe someone more knowledgeable can tell you
more about what it *really* is :-)					Eliot
--

		J. Eliot B. Moss, Assistant Professor
		Department of Computer and Information Science
		Lederle Graduate Research Center
		University of Massachusetts
		Amherst, MA  01003
		(413) 545-4206, 545-1249 (fax); Moss@cs.umass.edu

jonl@LUCID.COM (Jon L White) (01/31/91)

re: PCL = Portable Common Lisp. Now maybe someone more knowledgeable
    can tell you about what it *really* is.

Ooops, better try again, Eliot.  PCL = Portable Common Loops.

In about 1981, Danny Bobrow and Mark Stefik invented the language called
LOOPS, on top of Interlisp, to be used in AI applications.  It had an
Object-Oriented language component in it that somewhat resembled SmallTalk.
In subsequnet years, LOOPS was distributed freely to many Interlisp-D
customers, and achieved some degree of popularity -- especially for its
class browser and the ready ability to diddle with the class hierarchy
"on the fly".  There were several articles in AI journals about either
LOOPS or applications written in LOOPS.

In mid-1985, Dick Gabriel and I approached Mark and Danny about a revised
look into an O-O standard for Common Lisp, as we were disinclined to put
any effort into Flavors.  Mark, Danny, and several other Xeroxoids produced
a report called "Common Loops", and presented it at a "pick up" session at
AAAI '85 that year.  By early 1987, the X3J13 committee had bought into the
idea of a Common-Lisp-Object-System modeled after a kind of fusion between
the ideas in Common-Loops and "New Flavors".  Also about that time, Gregor
Kiczales picked up the Xerox CommonLoops code and made it "portable" to other
Common Lisp implementations  (Xerox had just come out with XCL -- the Xerox
Common Lisp on top of Interlisp-D).

This portable version of the emerging CLOS, running somewhat reliably on
numerous systems (such as Symbolics, Gold Hill, Lucid, VaxLisp, Franz, TI,
KCL, as well as XCL), was a critical factor in the acceptance of CLOS as
a "standards proposal"; it was really quite novel compared to the then-
existing practice in the Lisp community.


-- JonL --


P.S.: According to Gabriel, the original incorporation papers for Lucid
      considered using the name "Portable Common Lisp, Inc.", since the
      business plan was to "port" a high-quality implementation of Common
      Lisp to zillions of platforms.  But some bright-eyed eager-beaver
      figured out that a cute name is better than a pedestrian one, so . . .
      well here we are.  Just think -- if we had snarfed the name back then,
      there would have been no PCL; and if there had been no PCL then CLOS
      couldn't have gained acceptance; and if CLOS had lost out then Common
      Lisp would have nowhere to go, and Lisp would be dead.  So. Thanks to
      some anonymous eager-beaver way back when for saving Lisp!