[Cuis-dev] [RFC] Namespaces, changes to SystemDictionary, Object and a dictionary class for tracking environment implementations

Gerald Klix cuis.01 at klix.ch
Mon Oct 5 23:49:16 PDT 2020


On 2020-10-05 21:47, ken.dickey--- via Cuis-dev wrote:
> Hi Gerald,
> 
> I am looking at methods in EnvironmentImplementationsDictionary.
> 
> I am confused. Perhaps a class comment could clarify.
> 
> In my mind, one uses Environments (Namespaces) to allow multiple classes 
> with the same name to exist without problems.
> 
> But looking at (e.g.)
>    EnvironmentImplementationsDictionary>>classNamed:
> it appears that the first class with some name is returned.
> 
> I would expect something more like a set of (Env->Class) where each 
> class has the same class name.
> 
> So I am missing something fundamental.
> 
> Can you help me out?
> 
> Thanks much!
> -KenD

Good Morning Ken,

thanks for asking. Obviously my command of English is not good enough to 
invent self-explanatory names.

Its "EnvironmentImplementation*s*Dictionary".
Each environment implementation - yours, mine, anybody's -- should 
register an instance of a environment manager class with this 
dictionary, which in turn, dispatches most of SystemDictionary's 
retrieving and helper
methods to various environment *implementations*. In many cases the first
answer is taken.

Clearly if two environment implementations
manage an environment and a class with the same names each -- what a 
"name" is, is up the implementation -- we have a conflict,
but I presume this will happen seldomly.

Do you have any suggestion for a better
name?


HTH,

Gerald


More information about the Cuis-dev mailing list