[modules] Cutting the knot

Henrik Gedenryd Henrik.Gedenryd at lucs.lu.se
Sat Sep 29 08:41:49 UTC 2001


Stephane Ducasse wrote:

> This is what I mean: removing unnecessary or stupid dependencies by moving
> methods around. restructuring the code. This is my business ;)
> 

Well I would be _very_ happy if you would take one being "chief in charge of
refactoring the image". In fact, I think there is a vacancy for this
position that really needs to be filled! In any case, I would be grateful
for comments on my architecture proposal at

http://minnow.cc.gatech.edu/squeak/2057

>> This need will always be there;
>> I think we will need to carefully choosing
>> "which battles to fight", picking the most important and easiest achieved
>> :-) goals first. So many refactorings, so little time...
> 
> sure but we should be able to distribute the work

Hopefully, but the general rule seems to be that the people who are willing
to contribute to something are much fewer than those who want to have it.

> But the problem is not doing it: the point is having it into the image and
> controlling the changes that's why these modules are so important. We will
> be able to work on a part of Squeak and controlling its changes.
> 
> What is important after the modules are started is to say to all the brave
> souls around: "ok if you want to be responsible for something please be and
> we can organise a kind of peer reviews"

In general I agree. But this won't work before the system has been untagled.
Since the system is tangled now, I'm afraid you cannot fix one area, say the
compiler or Morphic, without also touching other parts of the system. Like
you wrote, untangling Morphic also means changing the compiler, etc etc. So
this will be a messy process indeed.

>> Also, "porting" existing packages to the scheme: Whisker, MathMorphs, RB,
>> Ginsu(!). Although Ginsu may be a little bit harder--I suspect it modifies
>> some of the same parts as this modules system itself.
> 
> No there is nothing complex in Ginsu, it modifies nothing just classify them
> according to some visibility rules. But nobody really looks at it.
> 

I meant that the code of Ginsu itself most likely changes a lot of the same
methods that this code does.

>> There are some things, for example see the Module class, categories "code
>> analysis" and "system conversion"; class ModuleRefactorer and subclasses.
>> This works with the code I already sent out.
> 
> ok I will try. Do you have a wiki where I can find the latest version?

The last one I sent out on the list should do, otherwise Dan wants to
release something this weekend.

Henrik






More information about the Squeak-dev mailing list