Greg Buchholz <[EMAIL PROTECTED]> writes:
> tmap :: (b -> a, b -> a) -> Twist b b -> Twist a a
>
> ...I'm wondering why they couldn't infer the more general...
>
> tmap :: (a -> b, c -> d) -> Twist a c -> Twist b d
Because the latter type involves polymorphic recursion. Standard H-M
cannot infer a poly recursive type, but Haskell is willing to check it
if you give it a signature.
Regards,
Malcolm
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe