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

Luciano Notarfrancesco luchiano at gmail.com
Tue Oct 6 07:15:43 PDT 2020


I think we should think more carefully about this, I'm not sure we really
need those hooks.
IMO, if we want to support different implementations of environments, the
first thing we should do is start by changing the current uses of
SystemDictionary (like the Browser and other tools), especially the
references to the global Smalltalk. We could implement #environment in
Behavior, answering always Smalltalk, and everywhere the global Smalltalk
is used replace it with 'someClass environment'. And then patiently change
everything else in the base image that assumes a single global environment
(for example the change log, refactorings like renaming classes, etc).


On Tue, Oct 6, 2020 at 2:49 PM Gerald Klix via Cuis-dev <
cuis-dev at lists.cuis.st> wrote:

> 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
> --
> Cuis-dev mailing list
> Cuis-dev at lists.cuis.st
> https://lists.cuis.st/mailman/listinfo/cuis-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20201006/ba820957/attachment.htm>


More information about the Cuis-dev mailing list