Copyright | (c) Andy Gill 2001 (c) Oregon Graduate Institute of Science and Technology 2001 |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | ross@soi.city.ac.uk |
Stability | stable |
Portability | portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
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 forStateT s
.Identity
@since base-4.8.0.0
Synopsis
- newtype Identity a = Identity {
- runIdentity :: a
Documentation
Identity functor and monad. (a non-strict monad)
Examples
>>>
fmap (+1) (Identity 0)
Identity 1
>>>
Identity [1, 2, 3] <> Identity [4, 5, 6]
Identity [1,2,3,4,5,6]
>>> do x <- Identity 10 y <- Identity (x + 5) pure (x + y) Identity 25
@since base-4.8.0.0
Identity | |
|