Squeak Starter

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Thu Oct 17 10:32:39 UTC 2002


Hi Daniel and all!

(yes, Daniel, I know... SqueakMap release 6...)

danielv at netvision.net.il wrote:
> First of all, there's nothing personal here. Some of us would like to
> have a working squeak with some support for modules someday, so let's
> keep that the topic.

You are so right.

> > Ok, what about all you other people out there? Are my explanations making any
> > sense? Henrik - could you please acknowledge that I haven't made any gross
> > factual errors? Daniel, what do you think?
> Well, if you ask my opinion -
> Your explanations make sense but that's not enough. There are two

Ok, good to hear. I am by no means an expert - in fact *you* know this
much better than I.

> problems here -
> 1. You haven't read the code. I say this once, because you said it, and
> again, because you said the code is as simple as can be. See below.

Well, actually I have read the code - but not all of it and only closely
in parts.
You have surely read it much more. By the way where did I say that "the
code is as simple as can be"?
I just looked over my posts and can't find that - I don't think I wrote
that.

Anyway, I agree - "the CODE is NOT as simple as can be". I have also
seen parts of it that easily could be refactored - but that is to be
expected I think, this is kindof hard stuff. What I think I wrote about
is the model with Modules/DeltaModules.

> 2. Many of the things explained are not implemented, so the theories
> given about what the semantics of various parts should be can't be
> tested. In short, it's incomplete. 

True again. But we all know that, right?

> The code *is* more complicated than it should be. See
> Module>>localUnresolvedRefsWithScheme: bindingScheme, and various
> similar methods. And no, I don't mean that just on the method level,
> that's just easy to reference. 
> 
> Read the code and disagree with me, and then I'll make a real case.

I don't disagree with you. IMHO the ideas are fine - the code is
halfcooked but a lot of it actually works, and yes there are definitely
oportunities for refactoring and simplification.

> When the lead maintainer (Scott) of a product (Squeak) wants to
> integrate a gui fix, but he can't determine whether it is consistent
> with the intention, you have a serious problem on your hands.

True. We do have a problem. But what should we do?
I think we should dig in and try to work through it. Do you instead
propose to dump it all and start from fresh?

> Anyway, this code hasn't reached production, but nobody is willing to
> maintain it. I don't know how to measure whether it's failed. OTOH, when
> the IDE subsystem in the Linux kernel reached a similar state, Linus
> simply deleted it, and replaced it with the previous version.
> 
> Ok, you know what - let's prove it. If someone, anyone, is serious about
> making 3.3a modules work, please make it so I can browse class side
> methods of DeltaModules. 
> 
> This is probably a bug all of you have encountered - *that have tried to
> use modules* the way they're intended. It is critical to the use of
> DeltaModules.
> 
> The fix is conceptually simple, and there are at least 20 Squeakers on
> this list capable of it. I dare any one of them to fix a small but
> important conceptual bug in the modules system, and show me there's
> hope.
> 
> In the interim, I will operate on Stephane's theory, hoping he's proven
> wrong.
>  
> > I continue to stand by the Modules codebase as a good start, 
> I think it was too ambitious, and this isn't Henrik's fault. Everyone,
> me included, likes to fantasize about his favorite requirement from a
> modules system, and did. So we got an incomplete shot at everything,
> instead of a working something that can be improved. I think it is now a
> bad start.
> 
> > but I am always
> > open for improvements.
> Me too, see above.

I am not sure what you wrote - do you mean that:

a) Yes, you think the code is worth working on if someone else steps up
and help you, or...
b) The code is a "bad start" and should be dumped?

There is of course a third alternative and that is to take Modules and
all those improvements that are floating around, stuff it all into a DVS
(for faster and better cooperation) - get a group of people together
interested in this for real and then pick out the cherries and rebuild
it all. Do you think this is a better way than trying to go into 3.3
armed to the armpits with debuggers and trying to detangle it?

Thinking aloud.

And finally, I would DIE to hear Dan's and Andreas' thoughts on this.
(hint, hint)

regards, Göran



More information about the Squeak-dev mailing list