modules
Jecel Assumpcao Jr
jecel at merlintec.com
Thu May 15 17:00:04 UTC 2003
On Thursday 15 May 2003 02:33, Stephane Ducasse wrote:
> I would like to have your point of view on the classBox.
> The paper has been accepted and we are including bench now.
> http://scgwiki.iam.unibe.ch:8080/SCG/559
One small correction: "but Us does not provide modules.", but Self does
and Us is built on top of Self. Self's modules are based on set of
individual slots, so they have the effect of global "class" extensions.
When combined with perspectives in Us, you get the same functionality
as ClassBoxes.
My impression is that the selector tinkering that Anthony is proposing
for Squid is pretty close to your work.
The "class imports" vs "classBox imports" is what I was talking about
previously in this thread. That latter is like * in Java, I suppose.
That creates implicit dependencies and things may break if the set of
classes defined in a module changes. Of course, this would break "class
imports" as well but then it would be easier for a tool to warn about
this problem.
There are limitations compared to other systems, but they are not
important:
- you can't extend a class with instance variables (as in "roles"). But
you can define a new subclass and then don't have to worry about the
values for the new variables in existing instances.
- no versions. But you can get the same effect by always creating new
modules instead of changing existing ones. Then old code will point to
the original version of the module (which should continue to work)
until explicitly updated to point to the new one instead. Different
modules can load different "versions" of a single module at the same
time. This is the answer to running 2.3 code in a 3.6 image...
- no instances. But Squeak already has projects and perhaps these
combined with classBoxes can get the job done together.
My view is that this is a very important development and certainly a
step in the right direction.
It might be interesting to compare 3.3 modules with classBoxes.
-- Jecel
More information about the Squeak-dev
mailing list
|