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, |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | ocean0yohsuke@gmail.com |
Stability | experimental |
Portability | --- |
Safe Haskell | Safe |
Language | Haskell2010 |
This module extended Reader Monad of mtl(monad-transformer-library).
- module Control.Monad.Reader
- newtype ReaderT2 r m1 m2 a = ReaderT2 {
- runReaderT2 :: r -> m1 (m2 a)
- mapReaderT2 :: (m1 (m2 a) -> n1 (n2 b)) -> ReaderT2 r m1 m2 a -> ReaderT2 r n1 n2 b
- liftCatch2 :: Catch2 e m1 m2 a -> Catch e (ReaderT2 r m1 m2) a
- newtype ReaderT3 r m1 m2 m3 a = ReaderT3 {
- runReaderT3 :: r -> m1 (m2 (m3 a))
- mapReaderT3 :: (m1 (m2 (m3 a)) -> n1 (n2 (n3 b))) -> ReaderT3 r m1 m2 m3 a -> ReaderT3 r n1 n2 n3 b
- liftCatch3 :: Catch3 e m1 m2 m3 a -> Catch e (ReaderT3 r m1 m2 m3) a
Documentation
module Control.Monad.Reader
Level-2
newtype ReaderT2 r m1 m2 a Source
ReaderT2 | |
|
(Monad m1, Monad2 m2) => MonadReader r (ReaderT2 r m1 m2) Source | |
MonadTransCover2 (ReaderT2 r) Source | |
MonadTransFold2 (ReaderT2 r) Source | |
MonadTrans2Down (ReaderT2 r) 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 | |
(Alternative m1, Alternative m2, Monad m1, Monad2 m2) => Alternative (ReaderT2 r m1 m2) Source | |
(MonadPlus m1, MonadPlus m2, Monad m1, Monad2 m2) => MonadPlus (ReaderT2 r m1 m2) Source | |
(MonadIO m1, Monad m1, Monad2 m2) => MonadIO (ReaderT2 r m1 m2) Source | |
type Trans2Down (ReaderT2 r) = ReaderT r Source |
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
ReaderT3 | |
|
(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