Packages and modules

Ketil Malde ketil+haskell at
Fri Jul 7 03:00:52 EDT 2006

"Simon Peyton-Jones" <simonpj at> writes:

> Brian Hulley wrote:

> |   import A.B.C( T1 ) from "foo"
> |   import A.B.C( T2 ) from "bar"
> |   type S = A.B.C.T1 -> A.B.C.T2

> | I'd suggest that the above should give a compiler error that A.B.C is
> | ambiguous (as a qualifier), rather than allowing T1 to disambiguate it,

> But that's inconsistent with Haskell 98. 

FWIW, I agree with Brian that this is not good practice. If it can't
be forbidden, I would suggest that compilers emit a warning about it. 

If I haven't seen further, it is by standing in the footprints of giants

More information about the Glasgow-haskell-users mailing list