[Hat] Hat bug report: Ambiguous occurrence `List'

Malcolm Wallace Malcolm.Wallace at cs.york.ac.uk
Tue Jun 22 05:26:28 EDT 2004

Fergus Henderson <fjh007 at galois.com> 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).


More information about the Hat mailing list