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