module system bug

Sigbjorn Finne sof@galois.com
Thu, 13 Feb 2003 18:04:41 -0800


Thanks, now fixed.

--sigbjorn

----- Original Message ----- 
From: "Iavor S. Diatchki" <diatchki@cse.ogi.edu>
To: "hugs-bugs" <hugs-bugs@haskell.org>
Sent: Thursday, February 13, 2003 10:15
Subject: module system bug


> hi,
> 
> i seem to have run into a module system bug, which is illustrated by the
> following example:
> module A where
>     data T = T
> 
> module B where
>     import A hiding (T())  -- note the parens after T
>     v = T
> 
> Hugs complains that "T" is an undefined constructor.
> This would be the correct behaviour if T didn't have the
> () after it, as both the type and the constructors by the name
> T should be hidden.  however, the parens indicate that
> the type/class T should be hidden, and also all the constructors listed
> in the parens.  since the constructor T is not listed, it should not be
> hidden.  basically, if a name has parens after it, it always refers to a
> type/class.
> 
> this is not a big thing, but is ocasionally useful, and more
> importantly, it is nice when one can load a program with both GHC and
> Hugs, which i am glad to say happens more and more often.
> 
> bye
> iavor
> 
>