
16 Nov
2011
16 Nov
'11
10:56 p.m.
On Thu, Nov 17, 2011 at 11:48 AM, Magicloud Magiclouds
Hi, Consider I have declarations like this: class (ClassA a) => ClassC a where from :: (ClassB b) => a -> [b] to :: (ClassB c) => a -> [c]
data H = ...
instance ClassB H where ...
data Test = Test { m :: H } instance ClassA Test where ... instance ClassC Test where from = m to = m
Well, I got "could not deduce" error here at "from = m" and "to = m". `c' is a rigid type variable bound by the type signature for to :: ClassB c => Test -> [c]. Referring to some similar questions on internet, I should remove the (ClassB c) thing. Is this the only solution? -- 竹密岂妨流水过 山高哪阻野云飞
I was wrong, forall b. did not help.... -- 竹密岂妨流水过 山高哪阻野云飞