
You've declared "from" as forall b. Test -> [b], but you're trying to implement it as Test -> H. On 17 Nov 2011, at 07:48, Magicloud Magiclouds wrote:
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? -- 竹密岂妨流水过 山高哪阻野云飞
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe