Refactoring SystemDictionary

Stephane Ducasse ducasse at iam.unibe.ch
Mon Apr 14 17:51:09 UTC 2003


Hi Bill

Thanks for sharing that with us. I have the impression that you will be
a good reviewer and critic of the solution we will try to come up with.

> Greetings Sephane.  Don't believe we've ever met.
Not yet :)

> A topic near and dear to my heart.  I agree conceptually with Tim R's 
> previous remarks.  Restating the problem: The major challenge with 
> SystemDictionary is that its been used as a catch-all for system 
> housekeeping functions.  Now its severely overloaded.

nice metaphor for a crude reality.

> Compounding this is the goal of evolving the image to support multiple 
> Environments.  If you want to implement multiple Environments in 
> Squeak, you discover a significant problem with inheriting features 
> (and image-level visibility) from SystemDictionary that would be 
> inappropriate for the majority of Environments to have.
>
> I don't see it being so important as to precisely *where* things are 
> refactored to, so much as the refactoring of SystemDictionary takes 
> place.

Good

> Here's the take on redistributing SystemDictionary that I'm using:
>
> - Move all Class and method queries into Environment.

I will have a look at Environment. What is the difference between an 
environment and
a system dictionary


> - Move all Image-level queries into the class that holds all 
> Environments for the image.
What would be such a class?

> - Move all VM Management (Power management, VM settings & queries, 
> etc.), to another System Support class (I created class VMSupport to 
> hold this).
Ok.

> - Move all Image Management (Packaging/stripping, Profiling, removing 
> Undos, Instance queries, Startup/shutdown, etc.) to another System 
> Support Class (I've created ImageSupport to hold these).

I like that

> - Move all Change management functions to one of the Changes Classes.
>
> The above would accomplish most goals for refactoring System 
> Dictionary.

Bill would it be possible to access one image/changeset with your 
changes so that I can look at it?

Stef


>
>> Stephane Ducasse <ducasse at iam.unibe.ch> wrote:
>>
>> > hi all
>> >
>> > I would like to have your point of view on how to clean
>> > SystemDictionary.
>
>
>
>
Prof. Dr. Stéphane DUCASSE
http://www.iam.unibe.ch/~ducasse/
  "if you knew today was your last day on earth, what would you do 
different? ...  especially if,
  by doing something different, today might not be your last day on 
earth" Calvin&Hobbes

"The best way to predict the future is to invent it..." Alan Kay.

Open Source Smalltalks: http://www.squeak.org, 
http://www.gnu.org/software/smalltalk/smalltalk.html
Free books for Universities at 
http://www.esug.org/sponsoring/promotionProgram.html
Free Online Book at 
http://www.iam.unibe.ch/~ducasse/WebPages/FreeBooks.html



More information about the Squeak-dev mailing list