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

keith keith_hodges at yahoo.co.uk
Tue Mar 2 11:08:45 UTC 2010

>>> 1) The Cuis variant: Move all the code back to SystemDictionary;  
>>> implement SmalltalkImage current as ^Smalltalk.

Cuis didn't exactly move the code back to SystemDictionary, of course  
it never left in the first place. It is easier for Cuis to implement  
compatibility with "trunk" than it is for "trunk" to go back to the  
old way.

How much code uses Smalltalk at: ? As soon as you put SmalltalkImage  
current into Smalltalk you have to make what was an "image utilities"  
class behave like a dictionary.

You seem to be saying, we must have a single place to access this  
stuff called "Smalltalk". I think what really needs to happen is to  
factor things up nicely and logically so we know where to find things  
and can write compatible code.

I propose as a starting point, that we design a scheme or convention  
that implements the "long hand" variant, and then when happy with  
this, implement the short hand versions. The most obvious long hand  

self class environment "system globals"
self class environment image
self class environment navigation
self class environment sourceFiles
self class environment startupManager.
self class environment organization.

For the shorter hand variants, personally I wouldn't mind these being  
implemented on Object, aka #systemNavigation.

self systemEnvironment, self systemImage, self systemNavigation, self  
systemSourceFiles, self systemStartupManager, self systemOrganization

but I think I would prefer an instance side implementation of  

SmalltalkImage current would then become:

self environment image / self smalltalk image.

ok, it's not compatible, but its not a mess either.

The compatibility I would fix temporarily with better code loading  
tools, or a dnu: on SystemDictionary.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100302/47250e99/attachment.htm

More information about the Squeak-dev mailing list