| For instance if a have
| 
|   module A where
|     data T = A | B
| 
| which entities are imported when I include the declaration
| 
|   import A hiding(T)
| 
| in a module? The report is not clear about this but I would 
| expect that 
| this imports data constructors A and B into the current 
| module but not 
| the type constructor T 

Yes, that's right.  Why is the report not clear?  More precisely, how
could I improve it?

| However, if this is true it is possible to export data constructors 
| without their type via
| 
|   module B(module A) where
|     import A hiding(T)

Indeed so.

| which contradicts the statement in section 5.2 on p.64, that the form 
| module m is equivalent to listing all entities imported from that 
| module, because I cannot list a data constructor (without its 
| type) in an export specification.

Well I suppose I could add "if possible" to the statement that it's
equivalent
to listing all the entities.  Yes it's a little strange, but it's a very
dark corner
and I don't propose to poke in it!  I suspect it may be more confusing
than
helpful to elaborate the exception in 5.2.

Simon

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to