hugs / ghc difference over '(..)' imports

Simon Marlow simonmar at microsoft.com
Mon Feb 18 06:11:08 EST 2002


> There is a difference between hugs and ghc in how they treat 
> imports with the 
> '(..)' notation. Here's my example:
> 
> module CTree(
> 	--other stuff
> 	Const(..)
>    ) where
> 
> import ATree (Const)
> 
> --const has constructors CInt, CChar, CStr
> 
> under hugs this module exports CInt, CChar, CStr
> but under ghc it does not. Under ghc it only exports the 
> constructors if I 
> import 'Const' like this:
> 
> import ATree (Const(..))
> 
> I don't know which is the right behaviour w.r.t. the H98 
> standard, but it 
> tripped me up.

GHC is correct here.  According to the Haskell 98 report C(..) exports C and all its constructors *that are currently in scope*.

Cheers,
	Simon



More information about the Glasgow-haskell-bugs mailing list