From: Jim Weirich Date: 2005-05-05T02:07:39+09:00 Subject: Re: [RCR] Object#inside_metaclass? David A. Black said: > Hi -- > > On Thu, 5 May 2005, Jim Weirich wrote: > >> >> David A. Black said: >>>> i believe the implementaion is correct iff the following statement is >>>> true: >>>> >>>> all meta-classes descend from the meta-class of Object. >>> >>> I fear the terminology issue raises its head here. Is there any >>> reason not to use the customary "singleton class", pending some >>> pronouncement from Matz that it's no longer the right term? >> >> There is a distinction, although some people blur it. > > That's what I mean (in case it wasn't clear): the two terms are not > synonymous, and we're seeing more and more of this blurring, and more > and more use of "metaclass" where Matz and most practitioners have > always said "singleton class". I'm hoping we can steer away from > this. Then I wasn't clear either. In answer to your question 'Is there any reason not to use the customary "singleton class"', the answer is "Yes, because the original posters statement becomes false if you substitute singleton class for metaclass". (1) The statement "all singleton classes descend from the singleton class of Object" is false. (2) The statement "all metaclasses descend from the metaclass of Object" is true (given that that in this context metaclass refers to those things that are almost-metaclasses, i.e. singleton classes of classes.[1]). There is a difference in meaning between the word singleton class and metaclass. The original poster was using the correct terminology and substituting the term "singleton class" would be incorrect. -- -- Jim Weirich jim@weirichhouse.org http://onestepback.org ----------------------------------------------------------------- "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas) [1] I'm trying to sidestep the issue of whether these almost-metaclasses are TRUE metaclasses. They certainly are very much like metaclasses[2]. [2] Pickaxe II, page 382. "Eventually, Matz weighed in with the following: [...] * Singleton classes for classes behave just like Smalltalk's metaclasses"