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
|