[Cuis-dev] [RFC] Namespaces, changes to SystemDictionary, Object and a dictionary class for tracking environment implementations
Gerald Klix
cuis.01 at klix.ch
Tue Oct 6 23:53:52 PDT 2020
Mariano,
please don't tempt me; me forking Cuis would be a way of no return. My
fork would contain so many of changes, that many would not consider it a
proper Smalltalk.
What I currently have is a quasi-fork.
I have the all the change sets I mailed and some packages and it will
take some time, my estimate is around 3 month, until I can stop
maintaining these change sets.
Please bear with when I sent preliminary versions of my changes to the
mailing list for
review. I don't want to end up with working change sets that are not
accepted into Cuis.
Best Regards,
Gerald
On 2020-10-06 18:47, Mariano Montone via Cuis-dev wrote:
> In any case, I think the way to go about this would be to fork Cuis and
> work there, until something that is good is finished and people agree
> would be good to integrate.
>
> El 6/10/20 a las 11:15, Luciano Notarfrancesco via Cuis-dev escribió:
>> 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 <mailto: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 <mailto:Cuis-dev at lists.cuis.st>
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>
>>
>
More information about the Cuis-dev
mailing list