monad-control
Version 0.2.0.1 revision 0 uploaded by BasVanDijk.
Package meta
- Synopsis
- Lift control operations, like exception catching, through monad transformers
- Description
This package defines the type class
MonadControlIO
, a subset ofMonadIO
into which generic control operations such ascatch
can be lifted fromIO
. Instances are based on monad transformers inMonadTransControl
, which includes all standard monad transformers in thetransformers
library exceptContT
. For convenience, it provides a wrapped version ofControl.Exception
with types generalized fromIO
to all monads inMonadControlIO
.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 theRankNTypes
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 usingcabal test
.The following
critertion
based benchmark shows thatmonad-control
is on average about 2.5 times faster thanmonad-peel
:http://code.haskell.org/~basvandijk/code/bench-monad-peel-control
- Author
- Bas van Dijk, Anders Kaseorg
- Bug reports
- n/a
- Category
- Control
- Copyright
- (c) 2011 Bas van Dijk, Anders Kaseorg
- Homepage
- n/a
- Maintainer
- Bas van Dijk <v.dijk.bas@gmail.com>
- Package URL
- n/a
- Stability
- n/a