 | transformers-0.2.1.0: Concrete functor and monad transformers | Contents | Index |
|
Control.Monad.Trans.Reader | Portability | portable | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
|
|
Description |
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.
|
|
Synopsis |
|
|
|
|
The Reader monad
|
|
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.
|
|
reader :: (r -> a) -> Reader r a |
Constructor for computations in the reader monad.
|
|
runReader |
:: Reader r a | A Reader to run.
| -> r | An initial environment.
| -> a | | Runs a Reader and extracts the final value from it.
|
|
|
mapReader :: (a -> b) -> Reader r a -> Reader r b |
Transform the value returned by a Reader.
|
|
withReader |
:: (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).
|
|
|
The ReaderT monad transformer
|
|
newtype ReaderT r m 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 | | runReaderT :: r -> m a | The underlying computation, as a function of the environment.
|
|
| Instances | |
|
|
mapReaderT :: (m a -> n b) -> ReaderT r m a -> ReaderT r n b |
Transform the computation inside a ReaderT.
|
|
withReaderT |
:: (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).
|
|
|
Reader operations
|
|
ask :: Monad m => ReaderT r m r |
Fetch the value of the environment.
|
|
local |
:: Monad m | | => (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).
|
|
|
asks |
:: Monad m | | => (r -> a) | The selector function to apply to the environment.
| -> ReaderT r m a | | Retrieve a function of the current environment.
|
|
|
Lifting other operations
|
|
liftCallCC |
:: (((a -> m b) -> m a) -> m a) | callCC on the argument monad.
| -> ((a -> ReaderT r m b) -> ReaderT r m a) | | -> ReaderT r m a | | Lift a callCC operation to the new monad.
|
|
|
liftCatch |
:: (m a -> (e -> m a) -> m a) | catch on the argument monad.
| -> ReaderT r m a | Computation to attempt.
| -> (e -> ReaderT r m a) | Exception handler.
| -> ReaderT r m a | | Lift a catchError operation to the new monad.
|
|
|
Produced by Haddock version 2.7.2 |