Up

Module Make_monadic_eval (M : Core.Std.Monad.S) : Set_lang_intf.S_eval with type 'base t := 'base t with type set := set with type 'a result := 'a M.t

Parameters

Signature

type 'base t
type set
type 'a result
val subst : 'b1 t -> f:('b1 -> 'b2 t result) -> 'b2 t result
val map : 'b1 t -> f:('b1 -> 'b2 result) -> 'b2 t result
val specialize : 'b t -> f:('b -> set option result) -> 'b t result
val eval : 'b t -> f:('b -> set result) -> set result