A roadmap for 3.9 (Plus, [BUG][FIX] Wonderland in Squeak 3.7)
Jeffrey T. Read
bitwize at snet.net
Sun Dec 12 17:17:20 UTC 2004
On Dec 12, 2004, at 11:43 AM, stéphane ducasse wrote:
> I just want to something to the story. I'm not satisfied with
> SystemDictionary and SmalltalkImage as there are in 3.8 because
> it is difficult to find what and where. The situation is like that
> because we are in the middle of the changes. This is why I would have
> prefered that we fixed it once for all. (for example by having
> SystemDictionary = only a namespace and SmalltalkImage = all the rest
> of SystemDictionary that can't move in another place But this path was
> the most unstable for external users (mistake of mine)).
Thanks for clarifying. Your original approach makes a lot of sense
(especially in light of what I see in other Smalltalks). I wonder if I
should not propose an approach which makes more sense in light of your
original vision while keeping the functionality that people have come
to rely on.
* SystemDictionary becomes a namespace only. If you like we can rename
* Namespace gains a subclass: RootNamespace. Smalltalk is an instance
* RootNamespace has an inst var, myimage, which holds an instance of
SmalltalkImage. RootNamespace has a lot of methods (it looks like the
old crappy SystemDictionary class); the stuff that SystemDictionary
used to do that has been factored into SmalltalkImage gets delegated as
a message sent to myimage.
* An alternative approach would be to override doesNotUnderstand: in
RootNamespace, causing it to pass the message on to the SmalltalkImage
class in case of a method which belongs to it instead of RootNamespace.
(This is probably pretty hacky, and flirting with the Powers of
The end result is that the rest of the world can still say "Smalltalk
doThis" or "Smalltalk doThat" and despite the refactoring into
Namespace and RootNamespace, everything'll still work; Smalltalk just
delegates the SmalltalkImage stuff to an actual SmalltalkImage.
Do you see where I'm going with this? Does that resemble what you're
doing? I'm not sure what everyone's big problem is with the new
approach, except not being able to send messages to Smalltalk anymore
in the way they've been doing.
More information about the Squeak-dev