The latest version of monad-wrap is 0.1-0.

monad-wrap

Version 0.0 revision 0 uploaded by DavidMazieres.

Package meta

Synopsis
Wrap functions such as catch around different monads
Description

This package allows you to invoke a function on one monadic type passing it an argument of a different monadic type. The canonical example of this is wanting to use a function such as finally :: IO a -> IO a to catch exceptions thrown by a computation x :: ReaderT MyConfig IO b. If x uses the ReaderT function ask, it cannot be re-written to run in the IO monad, and hence cannot be executed with a construction like lift (x `finally` cleanup). Instead, you must use the wrap method, provide by module Control.Monad.Wrap. This package contains two further modules: Control.Monad.MultiWrap implements mwrap, a method that behaves like wrap but allows wrapping through multiple nested layers of monad transformer. The module Control.Monad.MultiLift provides mlift, a version of lift that similarly lifts through multiple nested monad transformers.

Author
David Mazieres
Bug reports
n/a
Category
Control
Copyright
n/a
Homepage
n/a
Maintainer
http://www.scs.stanford.edu/~dm/addr/
Package URL
n/a
Stability
experimental

Components