Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
Control/Monad/Trans/ | H | 26-Feb-2018 | - | 863 | 224 | |
CHANGELOG | H A D | 26-Feb-2018 | 13.8 KiB | 495 | 306 | |
LICENSE | H A D | 26-Feb-2018 | 1.5 KiB | 30 | 24 | |
README.markdown | H A D | 26-Feb-2018 | 954 | 18 | 14 | |
Setup.hs | H A D | 26-Feb-2018 | 46 | 3 | 2 | |
monad-control.cabal | H A D | 26-Feb-2018 | 2.2 KiB | 57 | 49 |
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