Name: monad-control Version: 0.3 Synopsis: Lift control operations, like exception catching, through monad transformers License: BSD3 License-file: LICENSE Author: Bas van Dijk, Anders Kaseorg Maintainer: Bas van Dijk Copyright: (c) 2011 Bas van Dijk, Anders Kaseorg Homepage: https://github.com/basvandijk/monad-control Bug-reports: https://github.com/basvandijk/monad-control/issues Category: Control Build-type: Simple Cabal-version: >= 1.6 Description: 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. . The following @critertion@ based benchmark shows that @monad-control@ is on average about 99% faster than @monad-peel@: . @git clone @ extra-source-files: README.markdown, NEWS -------------------------------------------------------------------------------- source-repository head type: git location: git://github.com/basvandijk/monad-control.git -------------------------------------------------------------------------------- Library Exposed-modules: Control.Monad.Trans.Control Build-depends: base >= 3 && < 4.5 , base-unicode-symbols >= 0.1.1 && < 0.3 , transformers >= 0.2 && < 0.3 , transformers-base >= 0.4 && < 0.5 Ghc-options: -Wall