Hi Gang,
About 18 months ago, I pointed out to this list that modules, or components, are a complex and very difficult problem. I was ignored. Recently, a number of folks on this list have come to the hot conclusion that modules, or components, are a complex and very difficult problem. What a surprise. So, just this once, I'm going to say, "I told you so." :-)
Before anyone gets serious about modules, or components, they must deal with issues of architecture and interfaces before they get down into the design and implementation details of modularity, namespaces, interdependencies, et al. While there have been a few references to "architecture" and "interfaces" on the list over the past 18 months, the focus has been on design and implementation, which puts the cart squarely before the horse.
Having said all of this, where do we go from here? I have a few suggestions:
1. Squeak 3.3 is a dead duck which should be set aside as: (1) a source of ideas for any future work on modules, (2) a monument to ambition over common sense engineering, and/or (3) a mechanism for torturing graduate students (re: thesis advisor to PhD candidate says, "Here. Take this code and make it work".)
2. Squeak 3.3 should be salvaged for anything that can be backported to 3.2. Some of this has already happened.
3. Continue the Squeak development stream starting with Squeak3.2-4956, which appears to be the last "stable" version. Add the Squeak Map and related stuff (Vainsencher, et al). Add the VI4 stuff (Hannan, et al). Package the results of all this as Squeak 4.0 and declare victory.
4. Squeak 4.0 should become the Squeak upper bound while Squeak 2.8, or Stable Squeak, should become the Squeak lower bound. Somewhere between the upper bound and the lower bound, define a Squeak Base Platform (SBP). The SBP becomes a thoroughly debugged and documented platform from which the fans of modules can work as well as a platform for other folks who might want to use Squeak for something useful. We can have lots of fun fighting over where to draw the SBP baseline.
I am serious about this. Squeak 2.8 is more than enough for me to handle. Squeak 3.2 is about three (3) times the size of Squeak 2.8. Whatever happened to that "exquisite personal computing environment that one person can comprehend"? With or without modules, nobody is capable of fighting their way through hundreds of thousands of lines of code. Apparently, this fact has torpedoed the various module efforts to date.
Well, this is more than enough for now.
Cheers, Roger.....