Thomas Hallgren | 6 Nov 01:34 2002

Re: Module re-exportation weekend puzzler


Simon Peyton-Jones wrote:

>Another minor H98 glitch.
Are you saying that you think the report doesn't fully define the 
meaning of the module system, or just that difficult to understand and 
needs to be clarified?

>  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?
If only there was a formal specification one could consult in cases like 
this! But wait a minute. There is one [1]!

>... 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
(Continue reading)