
Konrad Hinsen
More fundamentally, I consider the module system in its present form a major weak point of Haskell. There is only one global module namespace, which therefore is a scarce resource. If, as I have seen proposed in some book, I use up a global module name for each abstract data type, then I can almost expect to get name clashes as soon as I try to use my code together with someone else's (who thought that "vector" would be a great name for something slightly different). I have seen the proposal for hierarchical libraries, but that seems to be no more than a proposal at the moment.
The proposal for a hierarchical module *namespace* is much more than a proposal now. It is actively supported by all the current Haskell systems, and there is a large and growing collection of libraries that use it, many of them distributed with the compilers. Regards, Malcolm