| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Control.Monad.Ology.Specific.ReaderT
Contents
Synopsis
- ask :: forall (m :: Type -> Type) r. Monad m => ReaderT r m r
- asks :: forall (m :: Type -> Type) r a. Monad m => (r -> a) -> ReaderT r m a
- local :: forall r (m :: Type -> Type) a. (r -> r) -> ReaderT r m a -> ReaderT r m a
- newtype ReaderT r (m :: Type -> Type) a = ReaderT {
- runReaderT :: r -> m a
- type Reader r = ReaderT r Identity
- runReader :: Reader r a -> r -> a
- mapReader :: (a -> b) -> Reader r a -> Reader r b
- withReader :: (r' -> r) -> Reader r a -> Reader r' a
- mapReaderT :: (m a -> n b) -> ReaderT r m a -> ReaderT r n b
- withReaderT :: forall r' r (m :: Type -> Type) a. (r' -> r) -> ReaderT r m a -> ReaderT r' m a
- reader :: forall (m :: Type -> Type) r a. Monad m => (r -> a) -> ReaderT r m a
- with :: forall r (m :: Type -> Type) a. r -> ReaderT r m a -> ReaderT r m a
- readerTUnliftToT :: forall (t :: TransKind) (m :: Type -> Type). (MonadTransUnlift t, MonadTunnelIO m) => ReaderT (WUnlift MonadTunnelIO t) m --> t m
- tToReaderTUnlift :: forall (m :: Type -> Type) (t :: (Type -> Type) -> Type -> Type). MonadTunnelIO m => t m --> ReaderT (WUnlift Monad t) m
Documentation
Arguments
| :: forall r (m :: Type -> Type) a. (r -> r) | The function to modify the environment. |
| -> ReaderT r m a | Computation to run in the modified environment. |
| -> ReaderT r m a |
Execute a computation in a modified environment
(a specialization of withReaderT).
runReaderT(localf m) =runReaderTm . f
newtype ReaderT r (m :: Type -> Type) a #
The reader monad transformer, which adds a read-only environment to the given monad.
The return function ignores the environment, while >>= passes
the inherited environment to both subcomputations.
Constructors
| ReaderT | |
Fields
| |
Instances
type Reader r = ReaderT r Identity #
The parameterizable reader monad.
Computations are functions of a shared environment.
The return function ignores the environment, while >>= passes
the inherited environment to both subcomputations.
Arguments
| :: Reader r a | A |
| -> r | An initial environment. |
| -> a |
Runs a Reader and extracts the final value from it.
(The inverse of reader.)
Arguments
| :: (r' -> r) | The function to modify the environment. |
| -> Reader r a | Computation to run in the modified environment. |
| -> Reader r' a |
Execute a computation in a modified environment
(a specialization of withReaderT).
runReader(withReaderf m) =runReaderm . f
mapReaderT :: (m a -> n b) -> ReaderT r m a -> ReaderT r n b #
Transform the computation inside a ReaderT.
runReaderT(mapReaderTf m) = f .runReaderTm
Arguments
| :: forall r' r (m :: Type -> Type) a. (r' -> r) | The function to modify the environment. |
| -> ReaderT r m a | Computation to run in the modified environment. |
| -> ReaderT r' m a |
Execute a computation in a modified environment
(a more general version of local).
runReaderT(withReaderTf m) =runReaderTm . f
reader :: forall (m :: Type -> Type) r a. Monad m => (r -> a) -> ReaderT r m a #
Constructor for computations in the reader monad (equivalent to asks).
readerTUnliftToT :: forall (t :: TransKind) (m :: Type -> Type). (MonadTransUnlift t, MonadTunnelIO m) => ReaderT (WUnlift MonadTunnelIO t) m --> t m Source #
tToReaderTUnlift :: forall (m :: Type -> Type) (t :: (Type -> Type) -> Type -> Type). MonadTunnelIO m => t m --> ReaderT (WUnlift Monad t) m Source #
Orphan instances
| TransConstraint MonadFail (ReaderT s) Source # | |
| TransConstraint MonadFix (ReaderT s) Source # | |
| TransConstraint MonadIO (ReaderT s) Source # | |
| TransConstraint Applicative (ReaderT s) Source # | |
Methods hasTransConstraint :: forall (m :: Type -> Type). Applicative m => Dict (Applicative (ReaderT s m)) Source # | |
| TransConstraint Functor (ReaderT s) Source # | |
| TransConstraint Monad (ReaderT s) Source # | |
| TransConstraint MonadPlus (ReaderT s) Source # | |
| TransConstraint MonadException (ReaderT r) Source # | |
Methods hasTransConstraint :: forall (m :: Type -> Type). MonadException m => Dict (MonadException (ReaderT r m)) Source # | |
| TransConstraint MonadOuter (ReaderT s) Source # | |
Methods hasTransConstraint :: forall (m :: Type -> Type). MonadOuter m => Dict (MonadOuter (ReaderT s m)) Source # | |
| MonadCatch e m => MonadCatch e (ReaderT r m) Source # | |
| MonadThrow e m => MonadThrow e (ReaderT r m) Source # | |
| MonadTransAskUnlift (ReaderT r) Source # | |
| MonadTransCoerce (ReaderT r) Source # | |
| MonadTransHoist (ReaderT r) Source # | |
| MonadTransTunnel (ReaderT r) Source # | |
| MonadTransUnlift (ReaderT r) Source # | |
Methods liftWithUnlift :: MonadIO m => (Unlift MonadTunnelIO (ReaderT r) -> m r0) -> ReaderT r m r0 Source # getDiscardingUnlift :: forall (m :: Type -> Type). Monad m => ReaderT r m (WUnlift MonadTunnelIO (ReaderT r)) Source # | |
| TransConstraint (MonadCatch e) (ReaderT r) Source # | |
Methods hasTransConstraint :: forall (m :: Type -> Type). MonadCatch e m => Dict (MonadCatch e (ReaderT r m)) Source # | |
| TransConstraint (MonadThrow e) (ReaderT r) Source # | |
Methods hasTransConstraint :: forall (m :: Type -> Type). MonadThrow e m => Dict (MonadThrow e (ReaderT r m)) Source # | |
| MonadException m => MonadException (ReaderT r m) Source # | |
| MonadOuter m => MonadOuter (ReaderT r m) Source # | |