Monad is:exact
The
Monad class defines the basic operations over a
monad, a concept from a branch of mathematics known as
category theory. From the perspective of a Haskell programmer,
however, it is best to think of a monad as an
abstract datatype
of actions. Haskell's
do expressions provide a convenient
syntax for writing monadic expressions.
Instances of
Monad should satisfy the following:
Furthermore, the
Monad and
Applicative operations should
relate as follows:
The above laws imply:
and that
pure and (
<*>) satisfy the applicative
functor laws.
The instances of
Monad for lists,
Maybe and
IO
defined in the
Prelude satisfy these laws.
The environment in which most criterion code executes.
The
Monad class defines the basic operations over a
monad, a concept from a branch of mathematics known as
category theory. From the perspective of a Haskell programmer,
however, it is best to think of a monad as an
abstract datatype
of actions. Haskell's
do expressions provide a convenient
syntax for writing monadic expressions.
Instances of
Monad should satisfy the following:
Furthermore, the
Monad and
Applicative operations should
relate as follows:
The above laws imply:
and that
pure and (
<*>) satisfy the applicative
functor laws.
The instances of
Monad for lists,
Maybe and
IO
defined in the
Prelude satisfy these laws.
The
Monad class defines the basic operations over a
monad, a concept from a branch of mathematics known as
category theory. From the perspective of a Haskell programmer,
however, it is best to think of a monad as an
abstract datatype
of actions. Haskell's
do expressions provide a convenient
syntax for writing monadic expressions.
Instances of
Monad should satisfy the following:
Furthermore, the
Monad and
Applicative operations should
relate as follows:
The above laws imply:
and that
pure and (
<*>) satisfy the applicative
functor laws.
The instances of
Monad for lists,
Maybe and
IO
defined in the
Prelude satisfy these laws.
Hides away distracting bookkeeping while lambda lifting into a
LiftM monad.
Monadic definitions for the constraint solver
Functions for working with the typechecker environment (setters,
getters...).
Utilities related to Monad and Applicative classes Mostly for
backwards compatibility.
Reexporting useful monadic stuff.
Internal stuff that most people shouldn't have to use. This module
mostly deals with the internals of the CGIT monad transformer.