@hackage monad-control0.2.0.2
Lift control operations, like exception catching, through monad transformers
Installation
CustomDependencies (3)
- base >=3 && <4.5
- base-unicode-symbols >=0.1.1 && <0.3
- transformers >=0.2 && <0.3 Show all…
Dependents (607)
@hackage/typed-duration, @hackage/signals, @hackage/rfc, @hackage/growler, @hackage/apiary-memcached, @hackage/distributed-process-monad-control, Show all…
This package defines the type class MonadControlIO, a subset of
MonadIO into which generic control operations such as catch can be
lifted from IO. Instances are based on monad transformers in
MonadTransControl, which includes all standard monad transformers in
the transformers library except ContT. For convenience, it
provides a wrapped version of Control.Exception with types
generalized from IO to all monads in MonadControlIO.
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 language extension to simplify
most definitions.
The package includes a copy of the monad-peel testsuite written by
Anders Kaseorg The tests can be performed by using cabal test.
This critertion
based benchmark shows that monad-control is on average about 2.5
times faster than monad-peel.