Monad is the name for an algebraic structure, the same way that 'field' and 'group' and 'monoid' and 'integral domain' and 'vector space' are names for algebraic structures.
In particular it's useful for actions. It has only two functions, 'return' and '>>=':
(return x) -- an action that returns the value x
(a >>= f) -- the action produced by attaching the
-- continuation f to the action a
It is the algebraic structure of attaching continuations to things.
In particular it's useful for actions. It has only two functions, 'return' and '>>=':
It is the algebraic structure of attaching continuations to things.