Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- mapReader :: (a -> b) -> Reader r a -> Reader r b
- mapReaderT :: (m a -> n b) -> ReaderT r m a -> ReaderT r n b
- runReader :: Reader r a -> r -> a
- withReader :: (r' -> r) -> Reader r a -> Reader r' a
- withReaderT :: forall r' r (m :: Type -> Type) a. (r' -> r) -> ReaderT r m a -> ReaderT r' m a
- type Reader r = ReaderT r Identity
- newtype ReaderT r (m :: Type -> Type) a = ReaderT {
- runReaderT :: r -> m a
- reader :: 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
- asks :: forall (m :: Type -> Type) r a. Monad m => (r -> a) -> ReaderT r m a
- ask :: forall (m :: Type -> Type) r. Monad m => ReaderT r m r
- with :: r -> ReaderT r m a -> ReaderT r m a
- readerTUnliftToT :: forall t m. (MonadTransUnlift t, MonadTunnelIO m) => ReaderT (WUnlift MonadTunnelIO t) m --> t m
- tToReaderTUnlift :: MonadTunnelIO m => t m --> ReaderT (WUnlift Monad t) m
Documentation
mapReaderT :: (m a -> n b) -> ReaderT r m a -> ReaderT r n b #
Transform the computation inside a ReaderT
.
runReaderT
(mapReaderT
f m) = f .runReaderT
m
:: Reader r a | A |
-> r | An initial environment. |
-> a |
Runs a Reader
and extracts the final value from it.
(The inverse of reader
.)
:: (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
(withReader
f m) =runReader
m . f
:: 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
(withReaderT
f m) =runReaderT
m . f
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.
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.
ReaderT | |
|
Instances
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
).
:: 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
(local
f m) =runReaderT
m . f
readerTUnliftToT :: forall t m. (MonadTransUnlift t, MonadTunnelIO m) => ReaderT (WUnlift MonadTunnelIO t) m --> t m Source #
tToReaderTUnlift :: MonadTunnelIO m => t m --> ReaderT (WUnlift Monad t) m Source #