KCP call for idea, experience

Stephane Ducasse ducasse at iam.unibe.ch
Sun Apr 13 13:05:14 UTC 2003


hi all

I would like to have your point of view on how to clean 
SystemDictionary.
Of course we have some ideas ;) but I would like to see if others have 
something to share.
Note that this is not urgent, right now we are focusing on Class, 
Behavior, ClassDescription, and Metaclass. Still preparing the future 
is always good.

We already introduced a class to support the Browsers called 
SystemNavigation
that start to contain all kinds of navigation queries that were using 
UI from the core. So part of Smalltalk could be move there.

The clean does not have to be a big-bang, it can be done in several 
steps. Like splitting in two, cleaning obsolete methods in a first 
period.

Now the question SystemDictionary has far too much responsibilities as 
we can see:
I tried to make already some conceptual groups

	- browsing (easy we can move that to systemNavigation)
	- retreiving

	- namespace fonctionality (this is clearly the responsibility of 
SystemDictionary 	so this should stay there)

	- benchmarks (someone proposed to move the benchmarks into a separate 
class, it 	is correct or did I get hallucinations?)

	- time ??
	
	- space profiler (-> Profiler class ?)

	- shrink scripts (May be this was for shrinking that someone proposed 
to move the 	them into a separate class, it is correct ?)
	- sources and changes

	- VM support such a isLittleEndian
	- snapshot functionality such as addToShutDown
	- profiling (could go with VM support)
	- Pluggins list access
	- special Object and GC (in VW there are I guess in ObjectMemory the 
class that 	represent the memory)
	- platformInformation
	- VM parameters
	- memorySpace

	- power disabling
	- screen management -> Display
	- all kind of other not related information such as itsyVoltage...

I imagine easily that the VM has some knowledge that some methods are 
really defined
on this class. So splitting it should be careful in terms of the impact 
that the split can have on the VM.


I have the impression that in a successfull first attempt would keep in 
SystemDictionary:
	- VM stuff
	- namespace
	- may be change management

But this is just a guess
so my questions:
	- Does anybody look at that class and have a plan to clean it?
	- How can I find the methods that are called by the VM on Smalltalk?
	
Stef

PS: I copied this email at http://minnow.cc.gatech.edu/squeak/3164




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