On Jan 4, 2010, at 10:47 PM, David T. Lewis wrote:
> On Mon, Jan 04, 2010 at 09:30:45PM +0100, St?phane Ducasse wrote:
>> david
>>
>> I would really like to continue the cleaning of SystemDictionary
>> because I do not like the current state of affair.
>>
>> Now we can either have a namespace class (with only namespace behavior)
>> and a imageManagement class
>>
>> Now we could have one variable Smalltalk to point to either of it.
>> but we will need another name.
>> Now the point behind the current (which I do not like but live with it is
>> that)
>> it would be cool to be able to do from my image some query into your image).
>> This was about thinking about that that SmalltalkImage current got birth.
>>
>> Now I would love to get some discussions about a way to
>> - have a class management class = SystemDictionary but with clean
>> contents and cool name => namespace?
>> (which often people confused with having namespace at the language
>> level and it not part of the proposal
>> don't open the box please)
>> - have a cool abstraction over image housekeeping
>> - a cool abstraction about vm information
>>
>> so if you have ideas please let me know.
>
> Stef,
>
> I think it would be good to step away from the details and just
> think about the high level objects - what do they represent and what
> are they responsible for (http://www.wirfs-brock.com/Design.html)?
this is couple of years that I'm teaching oop design :)
And I have been thinking about how to solve the social and historical issue
around smalltalk
since years.
> Maybe there would be two or three classes involved, as few as possible.
> Then write the class comments for the empty classes. Think about it
> for a few weeks, and if it still makes sense then start the refactoring.
> But I would not touch a single line of code until the class comments
> are clearly written and understood.
We already did that. This is the easy part.
The problem is the overload of Smalltalk (the global name).
Now SmalltalkImage could be called SmalltalkImageManagamentClass :) and its
singleton
be a global name smalltalkImage and it could be reached via Smalltalk
Thinking about it we could avoid a global and have messages (much
better)
Smalltalk
-> points to Namespace instance = SystemDictionary
singleton
Smalltalk image
-> points to SmalltalkImage current
Smalltalk vm
-> points to SmalltalkImage/VM current
Now it means that we get only one real global
Which is good if one day we want to have real namespace or can help
people like gulik to have them in.
Of course this promote
Smalltalk image snaphot kind of style
Stef
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project