[KCP] SystemDictionary cleaning: Comments and design

goran.krampe at bluefish.se goran.krampe at bluefish.se
Tue Jun 17 09:22:35 UTC 2003


Tim Rowledge <tim at sumeru.stanford.edu> wrote:
> 
> > I would also like to hear his view about globals holding onto instances
> > of a class. Like "Smalltalk" holding a "SystemDictionary" and
> > "Transcript" holding a "TranscriptStream".
> Here's mine; having a singleton global strikes me as a bit pointless so
> gues I'd prefer for example to see a class called Smalltalk than a
> global called Smalltalk and its class SystemDictionary. On the other
> had, we can have many TranscriptStreams and so a generally accessible
> global Transcript is perfectly sensible.

Sounds reasonable. And perhaps there is no "elegant way" to get away
from SystemDictionary (we need a name for the *class* that represents
the namespace) and Smalltalk (and we need a handle on that *namespace* -
and doing something like "SystemDictionary root" or similar looks pretty
darn ugly. Hmmm, how did 3.3a-Modules do it...)

So perhaps there is no "better" solution for the current
single-global-namespace-regime.

> and from earlier mail:-
> >- "System fullNameForChanges:" is simpler than "Changes fullName:"
> >- "System fullNameForImage:" is simpler than "Image fullName:"
> >- "System listBuiltinModules" is simplar than: "BuiltinModules list"
> >- "System listLoadedModules" is simplar than: "LoadedModules list"
> Whilst I just about agree that having a class for Changes and one for
> Image is ok I really think that it is going too far to have
> LoadedModules and BuiltinModules. Those are examples where the mapping
> simply doesn't make sense. Something more like Image loadedPlugins and
> Image builtinPlugins would be a little more approachable.

I think I agree with Tim/Martin on these last ones. Too fine granular.
But Image and Changes seems pretty fine to me.
 
> I know classes are pretty lightweight but let's not go down a path that
> ends up with One class and Two class and FortyTwo class etc.

Right. Personally I don't mind having say 5 of these objects like
Memory, Image, Changes, Utilities (for the rest) and perhaps one or two
more. But 10 or more would be too much I think, no? And again, I do
think some of these - perhaps all of them should be nicely grouped
somewhere.

regards, Göran



More information about the Squeak-dev mailing list