Haskell Hero
Haskell Hero es un manual interactivo del lenguaje Haskell para principiantes.
|
curry, uncurryPara empezar
Sabemos que existen funciones binarias. Por ejempo
Podemos ver que funciones
Ya que las dos funciones son simples, podemos en general definirlas bien sin tener que definirlas por medio de la otra función. Sin embargo, algunas veces es más útil usar funciones curry
Cuando se evalúa la función Definición
curry :: ((a,b) -> c) -> a -> b -> c curry f x y = f (x,y) Ejemplos
curry fst 5 True ~> fst (5,True) ~> 5 curry snd 'y' "bbb" ~> snd ('y',"bbb") ~> "bbb" uncurry
La función
Cuando se evalúa la función Definición
uncurry :: (a -> b -> c) -> (a,b) -> c uncurry f (x,y) = f x y Ejemplos
uncurry const (False,8) ~> const False 8 ~> False uncurry (flip const) ("ccc",'a') ~> flip const "ccc" 'a' ~> const 'a' "ccc" ~> 'a' |