Module Eval.Make

Make(M) provides an implementation of the S2 interface lifted into the monad M.

Parameters

Signature

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