Moduletransformers-0.6.1.1Haskell2010
Control.Monad.Trans.Reader
Declaration of the ReaderT monad transformer, which adds a static environment to a given monad.
If the computation is to modify the stored information, use Control.Monad.Trans.State instead.
- 2 types
- 11 values
- Packagetransformers-0.6.1.1
- Exports13
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceReader.hs
The Reader monad
5 declarationsConstructor for computations in the reader monad (equivalent to asks).
Runs a Reader and extracts the final value from it.
(The inverse of reader.)
withReader Execute a computation in a modified environment (a specialization of withReaderT).
runReader (withReader f m) = runReader m . f
The ReaderT monad transformer
3 declarationsThe reader monad transformer, which adds a read-only environment to the given monad.
The return function ignores the environment, while m >>= k
passes the inherited environment to both subcomputations:
Constructors
ReaderTrunReaderT :: r -> m a
Instances15Generic1, MonadTrans, Monad, Functor, MonadFix, MonadFail, …
Generic1 (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadTrans (ReaderT r)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonad m => Monad (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderFunctor m => Functor (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadFix m => MonadFix (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadFail m => MonadFail (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderApplicative m => Applicative (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderAlternative m => Alternative (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadPlus m => MonadPlus (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadIO m => MonadIO (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderMonadZip m => MonadZip (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderContravariant m => Contravariant (ReaderT r m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ReaderGeneric (ReaderT r m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Readertype Rep (ReaderT r m a) = D1 ('MetaDataDefined in transformers-0.6.1.1 · Control.Monad.Trans.Reader"ReaderT"
"Control.Monad.Trans.Reader"
"transformers-0.6.1.1-a11a"
'True) (C1 ('MetaCons"ReaderT"
'PrefixI 'True) (S1 ('MetaSel ('Just"runReaderT"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (r -> m a))))type Rep1 (ReaderT r m) = D1 ('MetaDataDefined in transformers-0.6.1.1 · Control.Monad.Trans.Reader"ReaderT"
"Control.Monad.Trans.Reader"
"transformers-0.6.1.1-a11a"
'True) (C1 ('MetaCons"ReaderT"
'PrefixI 'True) (S1 ('MetaSel ('Just"runReaderT"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (FUN 'Many r :.: Rec1 m)))
Transform the computation inside a ReaderT.
runReaderT (mapReaderT f m) = f . runReaderT m
withReaderT Execute a computation in a modified environment (a more general version of local).
runReaderT (withReaderT f m) = runReaderT m . f
Reader operations
3 declarationsFetch the value of the environment.
local Execute a computation in a modified environment (a specialization of withReaderT).
runReaderT (local f m) = runReaderT m . f
Lifting other operations
2 declarationsLift a callCC operation to the new monad.
Lift a catchE operation to the new monad.