Re: Hat bug report: Ambiguous occurrence `List'

Malcolm Wallace <[email protected]> Tue, 22 Jun 2004 10:26:28 +0100
Newsgroups gmane.comp.lang.haskell.hat
Organization Dept of Computer Science, University of York
Message-ID <[email protected]>
Fergus Henderson <[email protected]> writes:

>  | Hat/Foo/List.hs:1:
>  |     Ambiguous occurrence `List'
>  |     It could refer to either `Hat.Hat.List', imported from Hat.Prelude at
>  |     Hat/Foo/List.hs:30
>  |                           or `Hat.Foo.List.List', defined at
>  |                           Hat/Foo/List.hs:32

Unfortunately, ghc-6 seems to be rather over-eager to report ambiguous
use of identifiers, where in fact the usage is not ambiguous (the
Hat.Hat versions are only visible qualified, whereas your Foo.List
is visible unqualified).

In this regard, Hat does steal a couple of identifiers from the user
when you are using ghc-6.  'List' is one of these.  'Fun' is another.
Ideally we will try to find a fix for this.  In the meantime, you
can work around the bug either by renaming your own versions of the
overlapping identifiers, or always using them qualified (including
in export lists).

Regards,
    Malcolm