Module type Eval.S

An interface of a basic evaluator in a T1 monad

type 'a m
module M : Core_kernel.T1 with type 'a t = 'a m
class type 'r semantics = 'r T1(M).semantics
class type virtual ['r, 's] domain = ['r, 's] T1(M).domain
class type virtual ['r, 's] eff = ['r, 's] T1(M).eff
class virtual ['r, 's] t : object ... end

a virtual base class for all evaluators