[Haskell-cafe] Re: Type family problem
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Wed Jan 21 11:30:50 EST 2009
Gleb Alexeyev:
> Sjoerd Visscher wrote:
>> When I try this bit of code:
>> > class C1 a where
>> > type F a :: *
>> > x :: F a
>> > y :: F a
>> > x = y
>> I get this error:
>> Couldn't match expected type `F a1' against inferred type `F a'
>> In the expression: y
>> In the definition of `x': x = y
>> I can't figure out what is going on or how I should fix this.
>
> The discussion [1] seems to be related.
>
> [1] http://hackage.haskell.org/trac/ghc-test/ticket/2855
Exactly. See also the related ticket
http://hackage.haskell.org/trac/ghc-test/ticket/1897
In short, the signature "F a" is ambiguous (as `a' only occurs as a
parameter of a synonym family in the signature). Functions with an
ambiguous signature are generally unusable (even if the compiler
accepts the definition initially).
Manuel
More information about the Haskell-Cafe
mailing list