
Hello, trying to compile the following program class ClassA a where foo :: a -> Int class ClassA a => ClassB b a where toA :: b -> a test :: (ClassB b a) => b -> Int test x = let y = toA x in let z = foo y in z I get a compilation error: TestTypeClasses.hs:12: Could not deduce (ClassB b a1) from the context (ClassB b a) Probable fix: Add (ClassB b a1) to the type signature(s) for `test' arising from use of `toA' at TestTypeClasses.hs:12 In a pattern binding: toA x Can anybody explain the problem to me or suggest workarounds? Adding (ClassB b a1) to the context does not solve the problem, it just generates an error of the same sort. Any hints are appreciated. Cheers, dirk ______________________________________________________________________________ Werden Sie kreativ! Bei WEB.DE FreeMail heisst es jetzt nicht nur schreiben, sondern auch gestalten. http://freemail.web.de/features/?mc=021142