Path: utzoo!attcan!uunet!samsung!sdd.hp.com!mips!pacbell.com!pacbell!att!cbnewsc!lgm From: lgm@cbnewsc.att.com (lawrence.g.mayka) Newsgroups: comp.object Subject: Re: What is this? Message-ID: <1990Aug18.214355.3964@cbnewsc.att.com> Date: 18 Aug 90 21:43:55 GMT References: <1171@meaddata.mead.UUCP> Organization: AT&T Bell Laboratories Lines: 33 In article <1171@meaddata.mead.UUCP> mead!gordon@uccba.uc.edu writes: >In article <1990Aug17.064856.26549@kth.se>, d87-mra@dront.nada.kth.se >(Magnus Ramstr|m) writes: >|> I have often seen references to the terms slot-based objects and prototype >|> objects, but never a definition. I would be most grateful if someone could >|> explain these terms to me via e-mail. >|> > >The Common Lisp Object System (CLOS) uses the term "slot" to refer to the >variables that represent a class. Smalltalk uses "instance variable" and >C++ uses "member object" to describe the same thing. Some people employ the term "slot-based" to call special attention to the fact that CLOS (like Flavors, its predecessor) permits one: (1) To define and redefine (modify) a class's methods incrementally, without textual modification or recompilation of the class definition. The latter can therefore consist of as little as a list of superclasses and a list of additional slots. (2) To redefine (modify) a class definition in any way without textual modification or recompilation of its methods. Hence, one can add or remove superclasses and slots just as easily as methods. Needless to say, Common Lisp programmers prize this flexibility; others often scorn it. Lawrence G. Mayka AT&T Bell Laboratories lgm@iexist.att.com Standard disclaimer.