condenseSources problem, need advice

stéphane ducasse ducasse at iam.unibe.ch
Thu Feb 17 08:00:42 UTC 2005


Yohiski

if you read the proposal I sent a while back, I propose the following:
Recognising that SystemDictionary is a mess and always be and people 
will alos put mess there and stop to dream:). I wanted to clear that 
stuff once for all and this is the proposal we thought off and sent the 
9 Dec 2004 to the list


"Now for systemDictionary here is the situation and here is where we 
would like to be after 3.9

In the past we created SmalltalkImage out of SystemDictionary in the 
hope to have SystemDictionary be a nice and simple namespace class. Lot 
of stuff has been put in coherent places (SystemNavigation, SpaceTally, 
Changeset....) But this will not work since people get used to add 
stuff there and Smalltalk is a cool name.
So the new proposal is the following one and is partly implemented. 
Note however that it will require
from us a lot of work so if you are against it please say it and we 
will only do it for us.

from a user point of view we want to have:
	only one class: SmalltalkImage/SystDict for all the image related 
services
	(VM pluggins, ....) but the namespace behavior will be delegated to 
Namespace.

        All the previous code referencing Smalltalk will work but with 
deprecation for the namespace interface.

 From the language programmer point of view:
	there will be a namespace that can be used for experimentation
	this class will replace the environment class of dan that is now 
obsolete

We plan to proceed that way:
	- create a class namespace with a new interface (done)
	- delegate from SystemDictionary to this new class (done but not 
published)
	- deprecate all the namespace method of systemDictionary (but we 
likely want to keep them for some time)
	- fix all the in image senders of Smalltalk as a namespace to use the 
new class (using self environment for example).
	(partly done over the previous years)
	- merge back SmalltalkImage into SystemDictionary: the idea here is to 
not have SystemDict as a subclass of Dictionary.
	- have Smalltalk pointing to an instance of this new entity, so that 
everybody is happy."

So tell if this makes sense because this way we get a cleaner system 
with the mess concentrated in SystemDictionary

Stef






On 17 févr. 05, at 1:36, Yoshiki Ohshima wrote:

>   Stef,
>
>> strange because I remember that this was fixed.
>> I feel sorry about that I would really like to fix that in 3.9
>> but people have to agree on that because I do not want to get the same
>> rant as the last time (you know idiot academic doing useless 
>> refactoring
>> which I can only admit for Beeper beep).
>
>   In this case,
>
>   * The transition to SmalltalkImage is almost done, so it
>     wouldn't have too much of that.
>   * The condenseSource method has many dozens of lines, while the
>     deprecated method will have two or so.  It doesn't add too much
>     complexity.
>   * If we remove LastQuitLogPosition class var from SystemDictionary,
>     that will be a win.  Adding Beeper wasn't a win.
>
> So, I don't think that moving #condenseSource to SmalltalkImage and
> rewrite SystemDictionary>>condenseSource so that it simply call the
> SmalltalkImage one wouldn't have that much resitance.
>
> -- Yoshiki
>




More information about the Squeak-dev mailing list