monad-control-1.0.1.0: Lift control operations, like exception catching, through monad transformers

# monad-control-1.0.1.0: Lift control operations, like exception catching, through monad transformers

This package defines the type class `MonadBaseControl`, a subset of `MonadBase` into which generic control operations such as `catch` can be lifted from `IO` or any other base monad. Instances are based on monad transformers in `MonadTransControl`, which includes all standard monad transformers in the `transformers` library except `ContT`.

See the `lifted-base` package which uses `monad-control` to lift `IO` operations from the `base` library (like `catch` or `bracket`) into any monad that is an instance of `MonadBase` or `MonadBaseControl`.

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` and `TypeFamilies` language extensions to simplify and speedup most definitions.

Modules

- Control
  - Monad
    - Trans
      - Control.Monad.Trans.Control