Make.C
specification for building a RWS monad using the Make functor
Make
type env
Reader variable type
type out
Writer variable type
type state
State variable type
val empty_out : unit -> out
how to generate Writer values out of thin air (return, read)
return
read
val merge_out : out -> out -> out
how to combine two writer values resulting from two computations combined with a bind
bind