• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Control/Monad/Trans/H26-Feb-2018-863224

CHANGELOGH A D26-Feb-201813.8 KiB495306

LICENSEH A D26-Feb-20181.5 KiB3024

README.markdownH A D26-Feb-2018954 1814

Setup.hsH A D26-Feb-201846 32

monad-control.cabalH A D26-Feb-20182.2 KiB5749

README.markdown

1[![Hackage](https://img.shields.io/hackage/v/monad-control.svg)](https://hackage.haskell.org/package/monad-control)
2[![Build Status](https://travis-ci.org/basvandijk/monad-control.svg)](https://travis-ci.org/basvandijk/monad-control)
3
4This package defines the type class `MonadControlIO`, a subset of
5`MonadIO` into which generic control operations such as `catch` can be
6lifted from `IO`.  Instances are based on monad transformers in
7`MonadTransControl`, which includes all standard monad transformers in
8the `transformers` library except `ContT`.
9
10Note that this package is a rewrite of Anders Kaseorg's `monad-peel`
11library.  The main difference is that this package provides CPS style
12operators and exploits the `RankNTypes` language extension to simplify
13most definitions.
14
15[This `criterion`](https://github.com/basvandijk/bench-monad-peel-control)
16based benchmark shows that `monad-control` is on average about 2.5
17times faster than `monad-peel`.
18