mzv-0.1.0.2: Implementation of the "Monads, Zippers and Views" (Schrijvers and Oliveira, ICFP'11)

Portabilityportable
Stabilityexperimental
Maintainerlibraries@haskell.org
Safe HaskellSafe-Inferred

Control.Monad.Trans

Description

The MonadTrans class.

Inspired by the paper /Functional Programming with Overloading and Higher-Order Polymorphism/, Mark P Jones (http://web.cecs.pdx.edu/~mpj/) Advanced School of Functional Programming, 1995.

Documentation

class MonadTrans t whereSource

Methods

lift :: Monad m => m a -> t m aSource

mt :: Monad m => Transformation t mSource

unlift :: (Monad m, Monad n) => (forall f. Functor f => (forall x. t m x -> m (f x)) -> n (f a)) -> t n aSource

tmixmap :: (Monad m, Monad n) => (forall a. m a -> n a) -> t m c -> t n cSource

class Monad m => MonadIO m whereSource

Methods

liftIO :: IO a -> m aSource

Instances

MonadIO IO 
MonadIO m => MonadIO (ListT m) 
MonadIO m => MonadIO (ContT r m) 
MonadIO m => MonadIO (StateT s m) 
(Monoid w, MonadIO m) => MonadIO (WriterT w m) 
(Monoid w, MonadIO m) => MonadIO (WriterT w m) 
MonadIO m => MonadIO (StateT s m) 
MonadIO m => MonadIO (ReaderT r m) 
(Error e, MonadIO m) => MonadIO (ErrorT e m) 
(Monoid w, MonadIO m) => MonadIO (RWST r w s m) 
(Monoid w, MonadIO m) => MonadIO (RWST r w s m) 

data Transformation t m whereSource

Constructors

MT :: Monad (t m) => Transformation t m 

tmap :: (MonadTrans t, Monad m, Monad n) => (forall a. m a -> n a) -> t m c -> t n cSource