Identity is:module
The identity functor and monad.
This trivial type constructor serves two purposes:
- It can be used with functions parameterized by functor or monad
classes.
- It can be used as a base monad to which a series of monad
transformers may be applied to construct a composite monad. Most monad
transformer modules include the special case of applying the
transformer to Identity. For example, State s is an
abbreviation for StateT s Identity.
- Computation type: Simple function application.
- Binding strategy: The bound function is applied to the
input value. Identity x >>= f == f x
- Useful for: Monads can be derived from monad transformers
applied to the Identity monad.
- Zero and plus: None.
- Example type: Identity a
The
Identity monad is a monad that does not embody any
computational strategy. It simply applies the bound function to its
input without any modification. Computationally, there is no reason to
use the
Identity monad instead of the much simpler act of
simply applying functions to their arguments. The purpose of the
Identity monad is its fundamental role in the theory of monad
transformers. Any monad transformer applied to the
Identity
monad yields a non-transformer version of that monad.
The identity monad transformer.
This is useful for functions parameterized by a monad transformer.
- Computation type: Simple function application.
- Binding strategy: The bound function is applied to the
input value. Identity x >>= f == Identity (f
x)
- Useful for: Monads can be derived from monad transformers
applied to the Identity monad.
- Zero and plus: None.
- Example type: Identity a
The
Identity monad is a monad that does not embody any
computational strategy. It simply applies the bound function to its
input without any modification. Computationally, there is no reason to
use the
Identity monad instead of the much simpler act of
simply applying functions to their arguments. The purpose of the
Identity monad is its fundamental role in the theory of monad
transformers. Any monad transformer applied to the
Identity
monad yields a non-transformer version of that monad.
Identity re-export, with a compat wrapper for older version of base
that do not have Data.Functor.Identity
The identity functor and monad.
This trivial type constructor serves two purposes:
- It can be used with functions parameterized by functor or monad
classes.
- It can be used as a base monad to which a series of monad
transformers may be applied to construct a composite monad. Most monad
transformer modules include the special case of applying the
transformer to Identity. For example, State s is an
abbreviation for StateT s Identity.