[modules] Top 10 ways in which the modules system sucks

Henrik Gedenryd h.gedenryd at open.ac.uk
Wed Jan 30 11:30:52 UTC 2002


Just to anticipate a certain category of comments ;-)

Top 10 ways in which the modules system sucks (ordering depends on
particular tastes).

- Documentation. This is a feature. No really. I had to remove the
documentation to make this system Squeak-compliant. But some of the
rationale behind the system is to be found at
<http://minnow.cc.gatech.edu/squeak/modules>.

- Things are probably broken in the existing code base. Some parts most
certainly are broken: Alice/Wonderlands use pool variables in a way that
really isn't supposed to work, now it propbably doesn't. Project un/loading
and image segments most likely don't work properly any more. Some eToy
player-something also uses pool variables in a naughty way, in classes that
modify their own definition.

- UI support. Right now the module explorer is what you get. And that ain't
much. In particular, there is little or no ui support for creating delta
modules and their contents yet.

- Version management. This barely exists yet.

- DeltaModules. They are not complete. Changing the external modules of the
base modules, or the format of a class, would be the next thing to add.

- Image modularity. I have only been able to make the VMConstruction module,
and Balloon3D (almost), unloadable.

- Integration with existing dev. tools. I've tried to fix the most obvious
things, but cmd-q doesn't seem to find all symbols. For example.

- Repository classes. These could be made complete. And be made to handle
errors gracefully. No good forwarding facility yet.

- ModuleInstaller. A cleaner (and complete) message protocol. More solid
unistallation and failure recovery (and tests for these). Possibly the
uninstall information will hold on to modules to prevent them from being
cleared out from the image?

- Tests. The tests I've written so far cover the functionality to a
reasonable amount, but they are not exhaustive. Also, the tests for module
storage/retrieval from net servers do not pass yet, in large part because
the ServerDirectory code doesn't work properly. This is something anyone
could work on.

Henrik




More information about the Squeak-dev mailing list