|
|
|
|
|
A monad over a category $\mathcal{C}$ is a triple $(T,\eta,\mu)$ , where $T$ is an endofunctor of $\mathcal{C}$ , $\eta$ is a natural transformation from the identity functor on $\mathcal{C}$ , and $\mu$ is a natural transformations from $T\circ T$ to $T$ , such that the following two properties hold:
- $\mu\circ(\mu\circ T)\equiv\mu\circ(T\circ\mu)$
- $\mu\circ(T\circ\eta)\equiv\mathrm{id}_\mathcal{C}\equiv\mu\circ(\eta\circ T)$
These laws are illustrated in the following diagrams.
|
|
|
| $\mu\circ(\mu\circ T)\equiv\mu\circ(T\circ\mu)$ |
$\mu\circ(T\circ\eta)\equiv\mathrm{id}_\mathcal{C}\equiv\mu\circ(\eta\circ T)$ |
As an application, monads have been successfully applied in the field of functional programming. A pure functional program can have no side effects, but some computations are frequently much simpler with such behavior. Thus a mathematical model of computation such as a monad is needed. In this case, monads serve to represent state transformations, mutable variables, and interactions between a program and its environment. For further information in this regard, see http://www.nomaware.com/monads/html/.
|
"monad" is owned by mathcam. [ full author list (2) | owner history (1) ]
|
|
(view preamble | get metadata)
Cross-references: information, variables, transformations, state, represent, side, functional, field, application, diagrams, properties, identity functor, natural transformation, endofunctor, category
There are 8 references to this entry.
This is version 8 of monad, born on 2002-02-24, modified 2005-01-25.
Object id is 2614, canonical name is Monad.
Accessed 6821 times total.
Classification:
| AMS MSC: | 68Q70 (Computer science :: Theory of computing :: Algebraic theory of languages and automata) | | | 18C15 (Category theory; homological algebra :: Categories and theories :: Triples , algebras for a triple, homology and derived functors for triples) |
|
|
|
|
|
|
Pending Errata and Addenda
|
|
|
|
|
|
|
|
|
|
|