reader
Retrieves a function of the current environment.
Constructor for computations in the reader monad (equivalent to
asks).
Constructor for computations in the reader monad (equivalent to
asks).
Constructor for computations in the reader monad (equivalent to
asks).
Read some text. If the read succeeds, return its value and the
remaining text, otherwise an error message.
- Computation type: Computations which read values from a
shared environment.
- Binding strategy: Monad values are functions from the
environment to a value. The bound function is applied to the bound
value, and both have access to the shared environment.
- Useful for: Maintaining variable bindings, or other shared
environment.
- Zero and plus: None.
- Example type: Reader [(String,Value)]
a
The
Reader monad (also called the Environment monad).
Represents a computation, which can read values from a shared
environment, pass values from function to function, and execute
sub-computations in a modified environment. Using
Reader monad
for such computations is often clearer and easier than using the
State monad.
Inspired by the paper
Functional Programming with Overloading and
Higher-Order Polymorphism, Mark P Jones
(
http://web.cecs.pdx.edu/~mpj/) Advanced School of Functional
Programming, 1995.
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.
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.
The parameterizable reader monad, which is non-strict.
Computations are functions of a shared environment.
The
return function ignores the environment, while
m
>>= k passes the inherited environment to both
subcomputations:
GHC uses several kinds of name internally:
Convert a read-only computation into an accumulation computation.
Not on Stackage, so not searched.
Vinyl-based reader-like monad composition
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.
The 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:
ReaderT r m is strict if and only if
m is.
A
ReaderTable describes how to deserialise a table from disk,
and how to create a
BinaryReader that looks up values in the
deduplication table.
UserData required to deserialise symbols for interface files.
See Note [Binary UserData]
See examples in
Control.Monad.Reader. Note, the partially
applied function type
(->) r is a simple reader monad. See
the
instance declaration below.
Transform the value returned by a
Reader.
Transform the computation inside a
ReaderT.
Runs a
Reader and extracts the final value from it. (The
inverse of
reader.)