Data.Function
 Portability portable Stability experimental Maintainer libraries@haskell.org
 Contents Prelude re-exports Other combinators
Description
Simple combinators working solely on and with functions.
Synopsis
 id :: a -> a const :: a -> b -> a (.) :: (b -> c) -> (a -> b) -> a -> c flip :: (a -> b -> c) -> b -> a -> c (\$) :: (a -> b) -> a -> b fix :: (a -> a) -> a on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
Prelude re-exports
 id :: a -> a Source
Identity function.
 const :: a -> b -> a Source
Constant function.
 (.) :: (b -> c) -> (a -> b) -> a -> c Source
 flip :: (a -> b -> c) -> b -> a -> c Source
flip f takes its (first) two arguments in the reverse order of f.
 (\$) :: (a -> b) -> a -> b Source
Other combinators
 fix :: (a -> a) -> a Source
fix f is the least fixed point of the function f, i.e. the least defined x such that f x = x.
 on :: (b -> b -> c) -> (a -> b) -> a -> a -> c Source

(*) `on` f = \x y -> f x * f y.

Typical usage: Data.List.sortBy (compare `on` fst).

Algebraic properties:

• (*) `on` id = (*) (if (*) ∉ {⊥, const ⊥})
• `((*) `on` f) `on` g = (*) `on` (f . g)`
• `flip on f . flip on g = flip on (g . f)`