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

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 in mtl(monad-transformer-library).

Synopsis

Documentation

Level-2

newtype ReaderT2 r m1 m2 a Source

Constructors

ReaderT2 

Fields

runReaderT2 :: r -> m1 (m2 a)
 

Instances

(Monad m1, Monad2 m2) => MonadReader r (ReaderT2 r m1 m2) Source 
MonadTrans2 (ReaderT2 r) Source 
(Monad m1, Monad2 m2) => Monad (ReaderT2 r m1 m2) Source 
(Functor m1, Functor m2) => Functor (ReaderT2 r m1 m2) Source 
(Monad m1, Monad2 m2) => Applicative (ReaderT2 s m1 m2) Source 
(MonadIO m1, Monad m1, Monad2 m2) => MonadIO (ReaderT2 r m1 m2) Source 

mapReaderT2 :: (m1 (m2 a) -> n1 (n2 b)) -> ReaderT2 r m1 m2 a -> ReaderT2 r n1 n2 b 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 
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 
(MonadIO m1, Monad m1, Monad2 m2, Monad3 m3) => MonadIO (ReaderT3 r m1 m2 m3) Source 

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