[squeak-dev] Re: SmalltalkImage current vs. Smalltalk

Andreas Raab andreas.raab at gmx.de
Wed Mar 3 02:41:22 UTC 2010

Folks -

That response was most definitely not what I had expected :-) I thought 
this was going to be a quick round of -1 or +1 instead lots of 
discussions about interesting forward-looking issues.

However, what I'm after in this round is not "how to make things better" 
but rather how to most effectively undo what got broken before. The 
current separation into SystemDictionary and SmalltalkImage is 
unmotivated and pointless. However, regardless of what we may end up in 
the future there is no doubt that there's a *lot* of code out there that 
will be using either Smalltalk or SmalltalkImage current. This is the 
problem that I'm trying to address here, no more, no less.

Consequently I'm going to completely ignore any forward-looking 
proposals and simply state that the current count is 3 votes for the 
first variant (Phil, David, Bert) and 1 vote for the second variant 
(Igor). This isn't the final tally but if you care about the 
compatibility issues raised here please be specific and state your 
preference for the options listed below rather than making another 
forward-looking proposal that I have no intention to implement for this 

   - Andreas

On 3/1/2010 8:08 PM, Andreas Raab wrote:
> Folks -
> I was just trying to load some other code and once too many I got bitten
> by this silly SmalltalkImage current vs. Smalltalk stuff, so I'll fix it
> now. The only question is which way. There are two alternatives which
> achieve the goal of "SmalltalkImage current == Smalltalk":
> 1) The Cuis variant: Move all the code back to SystemDictionary;
> implement SmalltalkImage current as ^Smalltalk.
> Pro: Compatible with Cuis.
> Con: Lack of separation of concerns.
> 2) The inverse Cuis variant: Move all the code from SystemDictionary to
> SmalltalkImage; add a 'globals' variable (populated by an instance of
> SystemDictionary) and convert everything roughly like this:
> SmalltalkImage current globals: Smalltalk.
> Smalltalk := SmalltalkImage current.
> Pro: Better separation of concerns.
> Con: Different from Cuis.
> I really don't care which way we do it; all I want is to get out of the
> mess we've created by introducing "SmalltalkImage current".
> If you have an opinion, voice it, otherwise I'll just pick one.
> Cheers,
> - Andreas

More information about the Squeak-dev mailing list