Hi Scott,
On Tue, 15 Oct 2002, Scott Wallace wrote:
At 8:38 AM -0700 9/24/02, Randal L. Schwartz wrote: This noxious "You can't add Modules at the top level" roadblock probably explains, more than any other single thing, why a large percentage of the Squeak community, including most of our most illustrious and powerful members who until the arrival of Modules had *always* lived and worked in the leading-edge Squeak development system, have steered away from 3.3a.
[Snipped excellent analysis of the reaction to 3.3a's module policy.]
But then it turned out that much old code couldn't file in, so that even people with no interest in Modules, and with no perceived current need for them, could not go on about their business.
I think you're hitting the nail on the head here. We have a technical policy difference that doesn't seamlessly "do the Right thing for niewbies". A user interface that consists of an error message for 99% of the Squeak contributors out there is the worst possible interface. If Exceptions were employed, that would be another thing, but Exceptions aren't integrated into Squeak's environment well enough.
I attach FWIW a tiny workaround that has helped lower *my* blood pressure as I operate in 3.3a, since I have frequent need to load code written in earlier Squeaks.
My solution does not modularize non-module-aware code, but it should at least allow you to *file in* your code. Classes which previously generated the "You can't add Modules at the top level" error will now be graciously accepted and placed in submodules of People. Once you have the code on board, you can proceed to use the Modules tools to make your code more module-savvy when and if you want to.
I'd be interested in hearing feedback on this naive but expedient little hack. Should it go into the image? It does not deal with any potentially awkward issues, it just brings code in, rather than rejecting it, so that you can start working with it from within Squeak.
Or would this be too much of an affront to the integrity of the Modules system? Or does anyone care anymore?
I'd rather ask "Why wasn't this added before?". I definitely do care and would like to see this policy incorporated.
Cheers,
-- Scott
Thanks! Brian Rice ~