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