giant@lindy.Stanford.EDU (Buc Richards) (09/06/89)
Two years ago I did OOP in New Flavors on a Symbolics (I love that environment), well now I have been reading Sonkya Keene's book -Object Oriented Programming in Common Lisp-, and it sure seems familiar. So how close are they? Any comparisons would be appreciated. Buc Richards @ @ Supercomputer Support Staff > AIR -
malcolm@Apple.COM (Malcolm Slaney) (09/06/89)
In article <4640@lindy.Stanford.EDU> giant@lindy.Stanford.EDU (Buc Richards) writes: >Two years ago I did OOP in New Flavors on a Symbolics (I love that >environment), well now I have been reading Sonkya Keene's book -Object >Oriented Programming in Common Lisp-, and it sure seems familiar. > >So how close are they? Any comparisons would be appreciated. As near as I can tell.....CLOS is the superset of all existing lisp object oriented extensions :-). This only makes sense considering the large number of Lisp vendors out there (including Symbolics) with large number of existing programs. Gregor (and the rest of the committee) have been doing an amazing job but Common Lisp, The Standard, keeps getting bigger and bigger.... Malcolm
barmar@think.COM (Barry Margolin) (09/06/89)
In article <34538@apple.Apple.COM> malcolm@Apple.COM (Malcolm Slaney) writes: >As near as I can tell.....CLOS is the superset of all existing lisp >object oriented extensions :-). Not quite. There are a numberof features in Flavors that don't exist in CLOS. Symbolics sent a document, "Getting Ready for CLOS", to their customers a couple of months ago (they also gave out copies at the SLUG conference in June). The most noticeable difference between Flavors (old and new) and CLOS is the lack of SELF. CLOS permits methods to be specialized on the data type of more than one argument, so there is no distinguished argument that should be SELF. A corollary to this is that it SELF's instance variables (called "slots" in CLOS) are not automatically made accessible as if they were local variables; the macros WITH-SLOTS and WITH-ACCESSORS can be used to make a particular variable's slots accessible as variables. Various New Flavors facilities that exist only for compatibility with Old Flavors do not exist in CLOS. For instance, the SEND function doesn't exist. CLOS doesn't have any of the DEFxxx-IN-FLAVOR macros. They don't really make much sense when methods aren't associated with particular classes. CLOS also doesn't have wrappers. Many DEFFLAVOR options don't have analogous DEFCLASS options. Some of these are esoteric (e.g. :SPECIAL-INSTANCE-VARIABLES, which I think was created just to make it easier to flavorize Zwei), but others may have been used by many users (e.g. all the :REQUIRED-xxx options). Barry Margolin Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar