[Haskell-cafe] Flexible instances
Albert Y. C. Lai
trebla at vex.net
Tue Oct 14 23:51:06 EDT 2008
George Pollard wrote:
> I'm a little confused. Why is this allowed:
>> instance Eq Blah where
>> x == y = True
> But not this:
>> Illegal instance declaration for `Stringable [Char]'
>> (All instance types must be of the form (T a1 ... an)
>> where a1 ... an are distinct type *variables*
>> Use -XFlexibleInstances if you want to disable this.)
>> In the instance declaration for `Stringable [Char]'
> 'Blah' isn't a type variable, is it? Is my brain just not working right
Just in case: n=0 for "instance Eq Blah", i.e., "T a1 ... an" becomes "T".
More information about the Haskell-Cafe