Monad.Writer
The Writer monad.
The writer monad denotes a simple effectful computations. The environment is represented with some type that should form the monoid. Effects are accumulated using the Monoid.plus
operation. The Writer monad is also known a the Logger monad.
module type S = sig ... end
module Make
(T : Monoid.S)
(M : Monad) :
S
with type 'a m := 'a T1(T)(M).m
and type 'a t := 'a T1(T)(M).t
and type 'a e := 'a T1(T)(M).e
and type state := T1(T)(M).state
Make(Sum)(M) constructs a reader that uses Sum.t
type as a state accumulator and composes the Writer with the monad M
.