monad-control: Lift control operations, like exception catching, through monad transformers
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.
The following critertion based benchmark shows that monad-control
is on average about 2.5 times faster than monad-peel:
http://code.haskell.org/~basvandijk/code/bench-monad-peel-control
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| test | Build the testing suite | Disabled |
| hpc | Enable program coverage on test executable | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- monad-control-0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.1, 0.2, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.3, 0.3.0.1, 0.3.1, 0.3.1.1, 0.3.1.2, 0.3.1.3, 0.3.1.4, 0.3.2, 0.3.2.1, 0.3.2.2, 0.3.2.3, 0.3.3.0, 0.3.3.1, 1.0.0.0, 1.0.0.1, 1.0.0.2, 1.0.0.3, 1.0.0.4, 1.0.0.5, 1.0.1.0, 1.0.2.0, 1.0.2.1, 1.0.2.2, 1.0.2.3, 1.0.2.4, 1.0.3, 1.0.3.1 |
|---|---|
| Dependencies | base (>=3 && <4.4), base-unicode-symbols (>=0.1.1 && <0.3), HUnit (>=1.2.2 && <1.3), test-framework (>=0.2.4 && <0.4), test-framework-hunit (>=0.2.4 && <0.3), transformers (>=0.2 && <0.3) [details] |
| License | BSD-3-Clause |
| Copyright | (c) 2011 Bas van Dijk, Anders Kaseorg |
| Author | Bas van Dijk, Anders Kaseorg |
| Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> |
| Category | Control |
| Source repo | head: darcs get http://code.haskell.org/~basvandijk/code/monad-control |
| Uploaded | by BasVanDijk at 2011-02-09T12:05:26Z |
| Distributions | Arch:1.0.3.1, Debian:1.0.2.3, Fedora:1.0.3.1, FreeBSD:1.0.0.4, LTSHaskell:1.0.3.1, NixOS:1.0.3.1, Stackage:1.0.3.1, openSUSE:1.0.3.1 |
| Reverse Dependencies | 554 direct, 8293 indirect [details] |
| Executables | test-monad-control |
| Downloads | 314471 total (97 in the last 30 days) |
| Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs uploaded by user Build status unknown [no reports yet] |