deepcontrol-0.3.3.0: Provide more deeper level style of programming than the usual Control.xxx modules express

Copyright(c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology 2001, (c) Jeff Newbern 2003-2007, (c) Andriy Palamarchuk 2007, (C) 2015 KONISHI Yohsuke,
LicenseBSD-style (see the file LICENSE)
Maintainerocean0yohsuke@gmail.com
Stabilityexperimental
Portability---
Safe HaskellSafe
LanguageHaskell2010

DeepControl.Monad.Trans.Reader

Contents

Description

This module extended Reader Monad of mtl(monad-transformer-library).

Synopsis

Documentation

Level-2

newtype ReaderT2 r m1 m2 a Source

Constructors

ReaderT2 

Fields

runReaderT2 :: r -> m1 (m2 a)
 

mapReaderT2 :: (m1 (m2 a) -> n1 (n2 b)) -> ReaderT2 r m1 m2 a -> ReaderT2 r n1 n2 b Source

lift function

liftCatch2 :: Catch2 e m1 m2 a -> Catch e (ReaderT2 r m1 m2) a Source

Level-3

newtype ReaderT3 r m1 m2 m3 a Source

Constructors

ReaderT3 

Fields

runReaderT3 :: r -> m1 (m2 (m3 a))
 

Instances

(Monad m1, Monad2 m2, Monad3 m3) => MonadReader r (ReaderT3 r m1 m2 m3) Source 
MonadTransCover3 (ReaderT3 r) Source 
MonadTransFold3 (ReaderT3 r) Source 
MonadTrans3Down (ReaderT3 r) Source 
MonadTrans3 (ReaderT3 r) Source 
(Monad m1, Monad2 m2, Monad3 m3) => Monad (ReaderT3 r m1 m2 m3) Source 
(Functor m1, Functor m2, Functor m3) => Functor (ReaderT3 r m1 m2 m3) Source 
(Monad m1, Monad2 m2, Monad3 m3) => Applicative (ReaderT3 s m1 m2 m3) Source 
(Alternative m1, Alternative m2, Alternative m3, Monad m1, Monad2 m2, Monad3 m3) => Alternative (ReaderT3 r m1 m2 m3) Source 
(MonadPlus m1, MonadPlus m2, MonadPlus m3, Monad m1, Monad2 m2, Monad3 m3) => MonadPlus (ReaderT3 r m1 m2 m3) Source 
(MonadIO m1, Monad m1, Monad2 m2, Monad3 m3) => MonadIO (ReaderT3 r m1 m2 m3) Source 
type Trans3Down (ReaderT3 r) = ReaderT2 r Source 

mapReaderT3 :: (m1 (m2 (m3 a)) -> n1 (n2 (n3 b))) -> ReaderT3 r m1 m2 m3 a -> ReaderT3 r n1 n2 n3 b Source

lift function

liftCatch3 :: Catch3 e m1 m2 m3 a -> Catch e (ReaderT3 r m1 m2 m3) a Source