1 May 21:01 2003

## Typing problems with polymorphic recursion and typeclasses

<oleg <at> pobox.com>

2003-05-01 19:01:06 GMT

2003-05-01 19:01:06 GMT

[Commenting of the problem in the message "GHC doesn't like its own type?", Iavor Diatchki wrote] > i remeber some time ago levent erkok run intro a simillar problem. take > a look at this post: > http://www.mail-archive.com/haskell <at> haskell.org/msg06754.html The problems seem different. However, Levent Erkok's problem as well as the problem in the follow-up message to categorical maxima point out that there is something else goes on besides the explicit typing. Let us use Levent Erkok's problem as it is simpler: > class X a where > u :: a b -> a b > f :: X a => b -> a b > f = f > g :: X a => a b -> b > g = g > -- h :: X a => b -> a c > h b = f (g (h b)) This file loads and checks both in GHC and Hugs. The problem is that if we uncomment the explicit type declaration of h (which is identical to the inferred type reported by the compiler), typechecker complains. Let us keep the function h without the explicit type declaration. Let us apply what I thought as an equivalent transformation:(Continue reading)