ppx_repr.lib
Monad.Reader
Computations that read values from a shared environment.
ppx_repr
type ('a, 'p) t
val return : 'a -> ('a, 'p) t
val map : ('a -> 'b) -> ('a, 'p) t -> ('b, 'p) t
val bind : ('a -> ('b, 'p) t) -> ('a, 'p) t -> ('b, 'p) t
val sequence : ('a, 'p) t list -> ('a list, 'p) t
module Syntax : sig ... end
val run : ('a, 'e) t -> 'e -> 'a
Runs a ('a,'e)t and extracts the final value 'a from it.
('a,'e)t
'a
val ask : ('e, 'e) t
Retrieves the monad environment.
val asks : ('e -> 'a) -> ('a, 'e) t
Retrieves a projection of the current monad environment.
val local : ('e -> 'e) -> ('a, 'e) t -> ('a, 'e) t
local f m executes a computation in m in an environment modified by f.
local f m
m
f