From gregor@parc.xerox.com Wed Nov 12 15:13:49 1997 Received: from alpha.xerox.com (alpha.Xerox.COM [13.1.64.93]) by amber.ccs.neu.edu (8.8.6/8.7.3) with SMTP id PAA02790; Wed, 12 Nov 1997 15:13:45 -0500 (EST) Received: from calvin.parc.xerox.com ([13.2.16.66]) by alpha.xerox.com with SMTP id <53286(3)>; Wed, 12 Nov 1997 12:13:11 PST Received: by calvin.parc.xerox.com id <86851>; Wed, 12 Nov 1997 12:12:59 PST Sender: Gregor Kiczales From: Gregor Kiczales To: lieber@ccs.neu.edu CC: dem@ccs.neu.edu, lopes@parc.xerox.com In-reply-to: <199711121920.OAA29392@stockberg.ccs.neu.edu> (message from Karl Lieberherr on Wed, 12 Nov 1997 11:20:35 PST) Subject: Re: Be careful what we call an object Line-Fold: NO Message-Id: <97Nov12.121259pst."86851"@calvin.parc.xerox.com> Date: Wed, 12 Nov 1997 12:12:59 PST Status: RO X-Status: From: Karl Lieberherr Date: Wed, 12 Nov 1997 11:20:35 PST We have classes at two levels: ClassDef and CoordinatorDef are at level 1, Point is at level 2. Since CoordinatorDef-objects are instances of a level 1 class and Point-objects are instances of a level 2 class we should not call them both objects without qualification. We could say that coordinators are level-1-objects and points are level-2-objects. But it is better to call coordinators just coordinators and not refer to their object representation. I think we can talk about these levels even more clearly using the the metaobject/metaclass terminology. So, the picture I would draw is: the metaclass the metaclass named class named coordinator | | | | the metaobject for the metaobject for the class named position the coordinator | | | | a particular / this space \ position p1 < intentionally > \ left blank / The key point being that there isn't really a reified object that sits in the intentionally blank space.