curry : transforma uma função que recebe como argumento um par, numa função equivalente que recebe um argumento de cada vez

curry :: ((a,b) -> c) -> a -> b -> c
curry f x y = f (x,y)

uncurry : transforma uma função que recebe dois argumentos (um de cada vez), numa função equivalente que recebe um par

uncurry :: (a -> b -> c) -> (a,b) -> c
uncurry f (x,y) = f x y

Exemplo :

quocientes :: [(Int,Int)] -> [Int]
quocientes l = map (\\(x,y) -> div x y) l

Ou, em alternativa :
quocientes l = map (**uncurry** div) l

> quocientes [(10,3),(20,4)] = [3,5]