2009/12/25 Stéphane Ducasse <stephane.ducasse@inria.fr>:
The need to have class names comes from using the global namespace:
(Smalltalk at: ConsistentClass name) == ConsistentClass
metaclasses is not part of global namespace and therefore don't required to have some constraints in while answering #name message.
Actually, it could answer 'ClassName metaclass' , or just 'a Metaclass' any form is acceptable.
No what you are saying is dogmatic.
Nope. Its anti-dogmatic. I'm not putting any expectations on what #name of metaclass should answer.
So far the metamodel of smalltalk is simple just class, packages does not even exist but as soons as you want to have a way to manipulate classes, you can manipulate metaclass and I do not know you but me I like when I want a class extension on a metaclass that it does not end up on the instance side.
I don't see a straight correspondence of this with #name implementation. Sure thing, i am both hands for easy & flexible manipulation of classes & metaclasses. So, maybe let's duscuss, what problem you encountered, and try to pick best solution(s). As i understand you trying to build a class meta-model in memory, but don't want to expose it to system, until it will be ready for installing.
I'd rather punish those, who in own code expecting that metaclasses should answer something which can be parsed for detecting a class name!
-- Best regards, Igor Stasenko AKA sig.