monad-control-1.0.3.1: Lift control operations, like exception catching, through monad transformers
This package defines the type class
MonadBaseControl
, a subset of
MonadBase
into which generic control operations such as
catch
can be
lifted from
IO
or any other base monad. Instances are based on monad
transformers in
MonadTransControl
, which includes all standard monad
transformers in the
transformers
library except
ContT
.
See the
lifted-base
package which uses
monad-control
to lift
IO
operations from the
base
library (like
catch
or
bracket
) into any monad
that is an instance of
MonadBase
or
MonadBaseControl
.
Note that this package is a rewrite of Anders Kaseorg's
monad-peel
library. The main difference is that this package provides CPS style operators
and exploits the
RankNTypes
and
TypeFamilies
language extensions to
simplify and speedup most definitions.
-
Control
- Monad