Type classes problem: Could not deduce ...
dirk.buehler@student.uni-tuebingen.de
dirk.buehler@student.uni-tuebingen.de
Mon, 10 Mar 2003 13:24:14 +0100
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