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

monad-control-1.0.3.1: 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