Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!think!barmar
From: barmar@think.COM (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: Flavors and the like
Message-ID: <6826@think.UUCP>
Date: Thu, 23-Jul-87 18:07:09 EDT
Article-I.D.: think.6826
Posted: Thu Jul 23 18:07:09 1987
Date-Received: Sat, 25-Jul-87 08:53:51 EDT
References: <8232@labrea.STANFORD.EDU>
Sender: news@think.UUCP
Reply-To: barmar@godot.think.com.UUCP (Barry Margolin)
Organization: Thinking Machines Corporation, Cambridge, MA
Lines: 35

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