curiosity, bug, or just dead code?

Ross Paterson ross at soi.city.ac.uk
Mon Sep 10 21:30:19 EDT 2007


On Tue, Sep 11, 2007 at 12:02:26AM +0100, Claus Reinke wrote:
> consider this module, which is accepted by ghci-6.6.1:
>
>    module T where
>    import qualified Prelude as T(length)
>    import Prelude(length)
>    length = 0

All the GHC behaviour described above follows the Haskell 98 Report.
This treatment of omitted export lists is a documented bug in Hugs
(section 5.1.4 of the User's Guide).

On Mon, Sep 10, 2007 at 06:15:20PM -0700, Tim Chevalier wrote:
> This seems like a GHC bug to me. The Haskell 98 report says:
> "It is legal for more than one module in scope to use the same
> qualifier, provided that all names can still be resolved
> unambiguously." (section 5.3.3)

I think "all names" there was intended to mean all references in the
program (cf 5.5.2).  The module exports the locally defined length,
and there is no reference to T.length.


More information about the Hugs-Bugs mailing list