Hi Colin--
Yes, [Spoon] provides tools that might help with [disentangling system components]. Yes, it provides tools for dealing with modules once they have been separated from the mess. These are excellent things.
Indeed, so I thought the assertion is Spoon "does nothing to make the system more modular" was clearly wrong.
So far, though, nobody has used those tools to do any untangling.
For what it's worth, I have, and am currently. I'm untangling the system dictionary from the rest of the system, and doing the same for the graphics subsystem (Display, etc.).
Note also that Dean's proposed path, which I've quoted above, doesn't involve any rewriting or refactoring, only unloading.
Clearly; and I, in turn, as the designer of Spoon, was motivated to elaborate from my point of view.
So I think Andreas is right. A modularization strategy that involves Spoon is a fine idea, as long as it also includes the kind of ugly grunt work that Andreas, Pavel, Edgar and others have been doing to disentangle the mess.
I certainly agree that any successful modularization strategy includes ugly grunt work (I'm doing it too). But I think Andreas said more than that: that the fitness of Spoon's tools for this task can only be evaluated when the task is finished. If everyone held that view, then no one would use Spoon's tools for the task. It seems to imply that I, Craig, must disentangle the entire system before it's worth anyone else's while to use Spoon. I don't think this is true. (Perhaps I exaggerate. Perhaps disentangling some subset of the system would be suitably compelling. At any rate, I continue making modules.)
-C
spoon@lists.squeakfoundation.org