Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!tektronix!tekcrl!tekgvs!jans From: jans@tekgvs.LABS.TEK.COM (Jan Steinman) Newsgroups: comp.lang.smalltalk Subject: Re: Polymorphism Message-ID: <5021@tekgvs.LABS.TEK.COM> Date: 28 Apr 89 17:32:47 GMT Organization: Tektronix Inc., Beaverton, Or. Lines: 20 <> <...a first-class object is one that can be stored in a variable, passed as parameters, etc...> I'd say it's a bit more complicated than that. While it's true that in Smalltalk *everything* is an object, knowledge of certain objects is hard-coded into the interpreter. For instance, I don't think you can subclass SmallInteger, and you certainly cannot change it's implementation! There are also other, less severe examples: Float can be subclassed, but it's implementation cannot be changed (at least not without considerably painful interpreter and image hacking). What Darren was describing as second-class objects (C functions, C function pointers, etc.) I prefer to call non-objects. (1/2 :-) :::::: Jan Steinman - N7JDB Electronic Systems Laboratory :::::: :::::: jans@tekgvs.LABS.TEK.COM Box 500, MS 50-370 (w)503/627-5881 :::::: :::::: jsteinma@caip.RUTGERS.EDU Beaverton, OR 97077 (h)503/657-7703 ::::::