Haskell98 undefinedness
Iavor S. Diatchki
diatchki@cse.ogi.edu
Wed, 12 Sep 2001 10:13:12 -0700
hello,
On Wed, Sep 12, 2001 at 08:51:20AM -0700, Sigbjorn Finne wrote:
>
> So, it's not considered an error if you do something
> like
>
> module A ( B(C), ...some other stuff..., B(D) ) where
> ...
> data B = C | D
>
> but C and D is exported. Is the extra flexibility of
> allowing duplicates really worth it?
>
although this is a little strange i think it should be allowed
(an implementation could still produce a warning).
here is an example of a simillar situation, where it is not as
obvious that constructors of the same datatype are being exported.
---------------
module A where
data T = C | D
---------------
-------------------------
module B (module A) where
import A
-------------------------
---------------------------------
module C ( A.T(C), B.T(D) ) where
import A
import B
---------------------------------
bye
iavor