EN
PréludeChargé par défaut — aucun import nécessaire.

Fonctions de base

Synopsis
id : a -> a

La fonction identité : renvoie son argument inchangé.

const : a -> b -> a

const x y = x. Ignore son second argument. Utile à passer à des fonctions d'ordre supérieur : map (const 0) xs.

flip : (a -> b -> c) -> b -> a -> c

flip f x y = f y x. Échange les arguments d'une fonction binaire.

(.) : (b -> c) -> (a -> b) -> a -> c

Composition de fonctions : (f . g) x = f (g x). infixr 9 (lie plus fort que tout opérateur arithmétique), donc f . g . h vaut f . (g . h).

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

Transforme une fonction curryfiée en une fonction prenant une paire.

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

Transforme une fonction sur les paires en une fonction curryfiée.

($) : (a -> b) -> a -> b

Application de basse priorité : f $ x est simplement f x. Comme $ a la plus faible précédence (infixr 0), il permet de supprimer les parenthèses autour d'un argument terminal entier : printLine $ show (1 + 2) plutôt que printLine (show (1 + 2)).

(|>) : a -> (a -> b) -> b

Application inversée (« pipe ») : x |> f vaut f x. Se lit de gauche à droite — la donnée d'abord, puis les étapes : [1, 2, 3] |> map double |> sum.