The monad-control package

[Tags:bsd3, library]

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

Properties

Versions 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
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.*) [details]
License BSD3
Copyright (c) 2011 Bas van Dijk, Anders Kaseorg
Author Bas van Dijk, Anders Kaseorg
Maintainer Bas van Dijk <v.dijk.bas@gmail.com>
Stability Unknown
Category Control
Source repository head: darcs get http://code.haskell.org/~basvandijk/code/monad-control
Uploaded Wed Feb 9 12:05:26 UTC 2011 by BasVanDijk
Distributions Arch:1.0.1.0, Debian:1.0.0.4, Fedora:1.0.1.0, FreeBSD:1.0.0.4, LTSHaskell:1.0.1.0, NixOS:1.0.1.0, Stackage:1.0.1.0, Tumbleweed:1.0.1.0
Downloads 168817 total (128 in the last 30 days)
Votes
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefaultType
testBuild the testing suiteDisabledAutomatic
hpcEnable program coverage on test executableDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees