Haskell 98 Report: October release

Malcolm Wallace [email protected]
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
each other.

[Oct 2001]
  "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."

[Sept 2001]
  "For example 

        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.

Regards,
    Malcolm