Eval.Make
Make(M)
provides an implementation of the S2
interface lifted into the monad M
.
module M : Monads.Std.Monad.S
class type 'r semantics = 'r T1(M).semantics
class type virtual ['r, 's] domain = ['r, 's] T1(M).domain
class virtual ['r, 's] t : object ... end
a virtual base class for all evaluators