Hugs accepts the following modules: module A(Stuff(Foo, Bar)) where data Stuff = Foo | Bar module B(Stuff) where import A hiding(Stuff(..)) but Stuff should also be hidden.
Thanks, now fixed. --sigbjorn ----- Original Message ----- From: "Ross Paterson" <ross@soi.city.ac.uk> To: <hugs-bugs@haskell.org> Sent: Tuesday, September 10, 2002 07:22 Subject: hiding (Stuff(..))
Hugs accepts the following modules:
module A(Stuff(Foo, Bar)) where data Stuff = Foo | Bar
module B(Stuff) where import A hiding(Stuff(..))
but Stuff should also be hidden.
On Tue, Sep 10, 2002 at 08:21:28AM -0700, Sigbjorn Finne wrote:
Thanks, now fixed.
Here's a trickier one: module A(Class(foo), bar) where class Class a where foo :: a bar :: a module B(Class(..)) where import A module C where import B f = foo g = bar says it can't find bar.
Thanks, now fixed. Applies to other 'orphans' in export lists also (i.e., field names and data constructors.) --sigbjorn ----- Original Message ----- From: "Ross Paterson" <ross@soi.city.ac.uk> To: "Sigbjorn Finne" <sof@galois.com> Cc: <hugs-bugs@haskell.org> Sent: Tuesday, September 10, 2002 09:00 Subject: Re: hiding (Stuff(..))
On Tue, Sep 10, 2002 at 08:21:28AM -0700, Sigbjorn Finne wrote:
Thanks, now fixed.
Here's a trickier one:
module A(Class(foo), bar) where class Class a where foo :: a bar :: a
module B(Class(..)) where import A
module C where import B f = foo g = bar
says it can't find bar.
participants (2)
-
Ross Paterson -
Sigbjorn Finne