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

Reply via email to