[comp.lang.lisp] Flavors and the like

kriegs@Whitney (David Kriegman) (07/23/87)

I was wondering if there are any object oriented programming systems 
available for Common LISP.  We're using Symbolics machines right now
and have been using flavors but we'd like our code to be portable to
other common lisp systems (e.g. LUCID and KCL).  I've heard of something
called CLOS but I don't know anything about it.  Is CLOS similar to 
flavors?  What else is out there?

Thanks in advance...

barmar@think.COM (Barry Margolin) (07/24/87)

In article <8232@labrea.STANFORD.EDU> kriegs@Whitney.UUCP (David Kriegman) writes:
>I was wondering if there are any object oriented programming systems 
>available for Common LISP.  We're using Symbolics machines right now
>and have been using flavors but we'd like our code to be portable to
>other common lisp systems (e.g. LUCID and KCL).  I've heard of something
>called CLOS but I don't know anything about it.  Is CLOS similar to 
>flavors?  What else is out there?
>
>Thanks in advance...

CLOS is Common Lisp Object System, and it is an object-oriented
extension to Common Lisp that is being designed and developed by
several members of the ANSI Common Lisp committee (much of the work
seems to have been done by Symbolics and Xerox).  It takes most of its
ideas from Symbolics's New Flavors and Xerox's Common Loops.  It is a
functional superset of Flavors, but doesn't use Flavors syntax.  One
of the chief additions is "multimethods", i.e. the ability to choose a
method based on the types of more than one argument to a generic
function.  It also is integrated with the regular Common Lisp type
system, allowing methods to be defined for predefined types; for
example, you can do somthing like:

	(defmethod foo ((arg1 integer) (arg2 integer)) ...)
	(defmethod foo ((arg1 integer) (arg2 float)) ...)
	(defmethod foo ((arg1 float) (arg2 integer)) ...)
	...

You can probably get the current draft documentation on this from
Gregor Kiczales or Danny Bobrow at Xerox.  Sorry, I don't know their
network addresses, but my guess is Bobrow@XEROX.COM would get to him.
Barry Margolin
Thinking Machines Corp.

barmar@think.com
seismo!think!barmar

preston@felix.UUCP (Preston Bannister) (07/27/87)

In article <6826@think.UUCP> barmar@godot.think.com.UUCP (Barry Margolin) writes:
>CLOS is Common Lisp Object System, and it is an object-oriented
>extension to Common Lisp that is being designed and developed by
>several members of the ANSI Common Lisp committee (much of the work
>seems to have been done by Symbolics and Xerox).  
.....
>You can probably get the current draft documentation on this from
>Gregor Kiczales or Danny Bobrow at Xerox.  Sorry, I don't know their
>network addresses, but my guess is Bobrow@XEROX.COM would get to him.

All right, does anyone out there know more about CLOS?  I read the
Common Loops paper in the last OOPS proceedings and was quite
interested.  I'd like to hear more...

========================================
Preston L. Bannister
USENET	   :	ucbvax!trwrb!felix!preston
BIX	   :	plb
CompuServe :	71350,3505
GEnie      :	p.bannister
--
========================================
Preston L. Bannister
USENET	   :	ucbvax!trwrb!felix!preston
BIX	   :	plb
CompuServe :	71350,3505
GEnie      :	p.bannister

roberts@cognos.uucp (Robert Stanley) (07/31/87)

In article <8232@labrea.STANFORD.EDU> kriegs@Whitney.UUCP (David Kriegman)
writes:
>I've heard of something called CLOS but I don't know anything about it.
>Is CLOS similar to flavors?  What else is out there?

CLOS is the Common Lisp Object System being developed by the AI group at Xerox
PARC, sitting on the Lyric release of Interlisp, the Common Lisp version.  As
of the last users' group meeting (at AAAI in Seattle), the Lyric release was
due early August.  CLOS itself, while being demonstrated at AAAI, was not a
released product.  It is written in Common Lisp, and the Lyric release appears
to be a fine implementation, but I haven't done more than play briefly under
supervision, and watch a demo.  Certainly worth looking at, but you'll have to
deal with Xerox directly to find out the availability on 'foreign' common lisp
systems.  E-mail me if you want contacts into Xerox.

-- 
Robert Stanley           Compuserve: 76174,3024        Cognos Incorporated
 uucp: decvax!utzoo!dciem!nrcaer!cognos!roberts        3755 Riverside Drive 
                   or  ...nrcaer!uottawa!robs          Ottawa, Ontario
Voice: (613) 738-1440 - Tuesdays only (don't ask)      CANADA  K1G 3N3