Folks Another minor H98 glitch. Consider this:
| > > module D (module Char) where | > > { import qualified Char; import List as Char } | > | > Everything in List, nothing from Char. | | Interesting... what happens when List and Char overlap here? Suppose | there exists entities List.f and Char.f, then it would be an error to | refer to Char.f in the body of the module. On export lists, the report | says: | | The form "module M" names the set of all entities whose | unqualified name, e, is in scope, and for which the qualified | name M.e is also in scope and refers to the same entity as e. | | Perhaps this could be clarified by insertion of the word "unambiguously" | before "refers to the same entity as e". It's not essential, but it | would make the expected behaviour in this case clearer. I agree with this. (Actually GHC gets it wrong right now.) Another way to say it is this: The export item 'module M' exports all entities e such that a) The qualified name M.e is unambiguous and refers to that entity b) The unqualified name e is in scope, perhaps ambiguously, and at least one of its bindings refers to that entity I'll make the one-word change in the Report that Simon suggests, though. Simon _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell