
i believe that a valid idiom is to define a class C that has no functions,
but requires any instance to also be of type classes A and B, so that you
can write: C a => blah
rather than (A a,B a)=> blah, though I don't know how often such is used in
practice
the same idea should apply more generally to multiparam type classes
On Sat, Aug 28, 2010 at 5:44 AM, João Paulo
Hello everyone,
I am developing a toolset in which I have several (multiparameter) type classes;
It is often the case that I can only define a data-type X as an instance of one such class (say A), if X is an instance of another class (say B);
The thing is that, while it is hard for me, because of all the type parameters that I have to deal with, to add
'X is an instance of B'
to the context cxt_A in
'instance cxt_A => A X'
ghc is always able to correctly infer all type parameters; In fact, I always get:
'Could not deduce (B X t1 ... tn) from the context cxt_A arising from ... Probable fix: add (B X t1 ... tn) to the context cxt_A ...'
In my case, this is the fix that I always need: most of the times, I am just copy-pasting (B X t1 ... tn) to cxt_A!
Is there a way, say a compilation option, to avoid this?
can anyone please help me here? :)
thank you very much
-- João Paulo Fernandes Universidade do Minho www.di.uminho.pt/~jpaulo
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe