Paracial 2018 ej7

Re: Paracial 2018 ej7

de Fausto Ismael Marquez Cavallo -
Número de respuestas: 0

Hola, capaz te ayude pensarlo de la siguiente forma:

uncurry::(x->y->z)->(x,y)->z

curry::((a,b)->c)->a->b->c

y por lo tanto curry::((a,b)->c)->a->(b->c)

Como lo que querés ahora es aplicar uncurry a curry, te queda claro que lo que "entra" en x tendrá el tipo ((a,b)->c), el tipo y será a y el tipo z será (b->c).

Entonces razonando así, el tipo de uc será (x,y)->z (el tipo de la función no currificada que devuelve uncurry) con x, y, z siendo los tipos que dije antes.

Entonces:

uc::((a,b)->c, a) -> (b->c)


Espero sirva, saludos.

Son bienvenidas las correcciones/críticas a la forma de proceder.