Squeak Starter
goran.hultgren at bluefish.se
goran.hultgren at bluefish.se
Fri Oct 18 08:42:45 UTC 2002
Hi Jason and all!
Jason Dufair <jase at dufair.org> wrote:
> I've been following this thread with great interest and have a few
> questions.
>
> I really like the idea of modules and, more specifically, of Squeak
> being declarative (i.e. build images from the ground up rather than
> strip images).
>
> As I understand it, modules will contain classes which implement
> functionality on top of some base set of modules upon which that module
> depends. Delta modules will contain new and updated methods on other
> classes in other modules. Is this understanding correct?
Yes, so far it sounds correct (even if a DM can contain other changes
than new/updated methods).
> If this is the case, how are we going to deal with interface conflicts?
> The scenario I'm wondering about is this:
>
> First, I load module A. Class Foo in module A implements #bar which
> calculates the size of the universe and answers a LargeInteger. Now I
> load delta module B which redefines Foo>>bar to answer a random string
> from Shakespeare's "Romeo and Juliet". What happens when I load module
> C which sends bar to Foo and expects the size of the universe back?
> Will these interfaces be overloaded based on module dependencies?
Well, one of the "fuzzy distinctions" that IMHO perhaps hasn't been
established completely is that when Henrik (I believe) say module X he
means module X version Y. Not just module X "any version". One reason is
that versioning in Modules is a bit sketchy at the moment.
But if I have understood this correctly (not certain at all) this means
that module C in your example depends not only on module A "any version"
but module A version 1.0. And then when you load module B which has a DM
for module A it will change module A into version 1.1. So now you
suddenly have a conflict that needs to be resolved somehow.
Stephen Pair would probably at this point join the thread and present
his "selector spaces" which can handle this situation I think. :-)
regards, Göran
More information about the Squeak-dev
mailing list
|