18 Feb
2002
18 Feb
'02
11:11 a.m.
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