[Q] MetaClass>>name

Daniel Vainsencher danielv at netvision.net.il
Sun Feb 23 03:03:10 UTC 2003


[no reason to generate symbols for meta-class names because they aren't
keys]
Ah.

[Use strings, avoid identity assumption]
Well, in this case, I suddenly noticed I shouldn't even have
meta-classes where they were appearing, so the issue is moot. 

At some point I thought this might be a performance hotspot. But on
further thought, if as you note I'm using the identity assumptions it
might be more proper to reference the classes themselves and use their
identity, and only generate names for display. 

Actually, that might still be a worthy change, even if I solved that
other bug.

Thanks,
Daniel


Ian Piumarta <ian.piumarta at inria.fr> wrote:
> On Sun, 23 Feb 2003, Daniel Vainsencher wrote:
> 
> > Anyone know a good reason why Class>>name returns a symbol
> 
> The name of a class is the Symbol on which it is keyed in the
> SystemDictionary.
> 
> > , but MetaClass>>name returns a string?
> 
> A Metaclass doesn't have a name.  It is known only by the expression which
> generates a reference to it, viz 'MyClass class', and that's what's
> returned by any Metaclass when you ask for its name.  It makes no sense to
> intern the string (to make a Symbol of it) since it isn't used as a key
> anywhere.
> 
> > It causes me a little mess in SpaghettiTracer...
> 
> Couldn't you convert all names to Strings (and then avoid any identity
> assumptions as appropriate)?
> 
> Ian



More information about the Squeak-dev mailing list