Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!lll-winken!unixhub!shelby!neon!lucid.com!3-mile-island!pab From: pab@lucid.com (Peter Benson) Newsgroups: comp.lang.clos Subject: Re: Is CLOS Object-Oriented ??? Message-ID: Date: 16 Nov 90 23:10:57 GMT References: <1990Nov15.101847.26285@diku.dk> <3904@s3.ireq.hydro.qc.ca> <27443D49.2BE8@wilbur.coyote.trw.com> Sender: pab@lucid.com Distribution: comp Organization: Lucid, Inc., Menlo Park, CA Lines: 22 In-reply-to: scott@wiley.uucp's message of 16 Nov 90 19:26:01 GMT In article <27443D49.2BE8@wilbur.coyote.trw.com> scott@wiley.uucp (Scott Simpson) writes: In article <3904@s3.ireq.hydro.qc.ca> gamin@ireq-robot.hydro.qc.ca (Martin Boyer) writes: >The way I see it, what "send" used to do in Flavors (finding which >method to call and then calling it) is now done in CLOS by the generic >function. > I thought they were the same too until someone at work came up with this problem in Flavors: (setf (send self (send button :slot-to-change)) value) What is happening is that (send button :slot-to-change) returns the name of a slot to change and that slot is changed to VALUE on the object SELF. How do you do this is CLOS? It's not a generic function doing it, but the designers of CLOS provided slot-value for occasions like this. (setf (slot-value self (slot-to-change button)) value) -ptr-