instance inference
Ross Paterson
ross at soi.city.ac.uk
Mon Feb 6 08:00:14 EST 2006
On Mon, Feb 06, 2006 at 01:53:17PM +0100, Doaitse Swierstra wrote:
> I have not followed this completely, but do these new rules now allow:
>
> class F a b c where
> f: a -> b -> c
>
> and then
>
> instance F a a a where
Yes. Indeed they allow any unconstrained instance. They would
also allow
instance C a a => F a a a
> On the other hand:
>
> instance F [a] [a] [a] where
> ...
> posed no problem, although I still see no non-type-variable in the
> head, or is [] a non-type-variable? I assumed the complaint was a
> left-over from the single parameter classes, where indeed having a
> single variable in an instance declaration does not make much sense.
> The second example does not follow the old rule (2) below!
The argument [a] is not a type variable, so this is OK under the old
rule (2).
More information about the Glasgow-haskell-users
mailing list