reader package:protolude

Retrieves a function of the current environment.
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.
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.
See examples in Control.Monad.Reader. Note, the partially applied function type (->) r is a simple reader monad. See the instance declaration below.
Runs a Reader and extracts the final value from it. (The inverse of reader.)