[Haskell-cafe] Re: Re: type class question

Jules Bean jules at jellybean.co.uk
Fri Dec 7 11:23:55 EST 2007


Peter Padawitz wrote:
> Jules Bean wrote:
> 
>> Peter Padawitz wrote:
>>
>>> Functional dependencies don't work in my case. Actually, I don't see 
>>> why they should.
>>
>>
>> Ah well, it's cruel to say that without explaining to us why!
> 
> Cause I don't see why the instantiation conflicts pointed out by others 
> would vanish then.

They would.

If it's really true that there is only one possible choice of b,c,d for 
any particular a, then there are no conflicts, so you'd get no errors.

So the fundep would solve the problem.

>> class Java (a,b,c,d) where ....
> 
> Yeah... but ghc accepts only type variables here, not arbitrary 
> polymorphic types.

Indeed, but there is a workaround:

class Java all a b c d |
    all -> a, all -> b, all -> c, all -> d, a,b,c,d -> all


instance Java (a,b,c,d) a b c d where...

but I'm not sure you need this.

Jules


More information about the Haskell-Cafe mailing list