Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!rochester!udel!new From: new@udel.EDU (Darren New) Newsgroups: comp.lang.smalltalk Subject: Re: Polymorphism Message-ID: <14123@louie.udel.EDU> Date: 27 Apr 89 16:05:06 GMT References: <1546@cfa.cfa.harvard.EDU> <80500056@p.cs.uiuc.edu> <8418@boulder.Colorado.EDU> Sender: usenet@udel.EDU Reply-To: new@udel.EDU (Darren New) Organization: University of Delaware Lines: 15 In article <8418@boulder.Colorado.EDU> bouguett@boulder.Colorado.EDU (Athman Bouguettaya) writes: >Excuse my ignorance but what is a first-class object? Does the latter >imply that there are second-class or n-class objects? I'm sure that others can give a better definition, but here's my shot at it: Basically, a first-class object is one that can be stored in a variable, passed as parameters, etc. As examples, types and blocks are not first-class objects in C, whereas classes and blockContexts are first- class objects in Smalltalk. In C, functions are not first- class, but pointers to functions are. I think the non-first-class objects are called second-class, and that there is nothing "lower" than second class (i.e., no third-class objects) but I could be mistaken. - Darren