Haskell 98 Report: October release
Tue, 2 Oct 2001 10:50:34 +0100
> the main things I've done this time is to
> * revise yet again the wording about export lists
Two of the changes to Export Decls (Section 5.2) now conflict with
"The form `module M' abbreviates 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."
module A ( module B, C.f, g ) where -- an invalid module
import qualified B(f,g)
import qualified C(f)
g = True
There are name clashes in the export list between B.f and C.f and between
g and B.g even though there are no name clashes within module A."
The latter example is now in fact a perfectly valid module, since
there is no unqualified entity f in scope, and g and B.g do not refer
to the same entity.