id : a -> a
La fonction identité : renvoie son argument inchangé.
import nécessaire.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.