| base-3.0.2.0: Basic libraries | Source code | Contents | Index
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
Function composition.
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
Application operator. This operator is redundant, since ordinary application `(f x)` means the same as `(f `$` x)`. However, `$` has low, right-associative binding precedence, so it sometimes allows parentheses to be omitted; for example:
         f $ g $ h x  =  f (g (h x))
It is also useful in higher-order situations, such as ``map` (`$` 0) xs`, or ``zipWith` (`$`) fs xs`.
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: ``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)
Produced by Haddock version 0.9