Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!samsung!zaphod.mps.ohio-state.edu!usc!ucselx!bionet!arisia!roo!lanning From: lanning@parc.xerox.com (Stan Lanning) Newsgroups: comp.lang.clos Subject: Re: Is CLOS Object-Oriented ??? Message-ID: Date: 20 Nov 90 19:09:47 GMT References: <1990Nov15.101847.26285@diku.dk> <3786@skye.ed.ac.uk> Sender: news@parc.xerox.com Distribution: comp Organization: Xerox PARC, Palo Alto, CA Lines: 22 In-reply-to: jeff@aiai.ed.ac.uk's message of 19 Nov 90 20:22:38 GMT The argument is (roughly) that functions that are not "owned" by an object may directly access the internal state of the object, and this precludes CLOS from being considered an Object-Oriented language. Well, as far as this argument goes, C++ isn't object oriented, either. There are enough loopholes in the language that you can smash the internals of anything. Free uses of casts and/or union types gives you access to anything. CLOS, by supplying SLOT-VALUE, is just providing a structured, portable loophole. As for questions about the ownership of a method, again C++ isn't clean either. If you overload the "<<" operator for a class you define, what class owns the definition? Your class? Or the stream class? Neither? -- -- smL Stan Lanning lanning@parc.xerox.com Xerox PARC 3333 Coyote Hill Road Palo Alto, CA 94304 (415)494-4880 USA Fax: (415)494-4777