Dolmen_model.Funmodule E = Dolmen.Std.Exprexception Function_value_expected of Value.texception Bad_arity of E.Term.Const.t * int * Value.t listtype value_function = | Lambda of {ty_params : E.Ty.Var.t list;term_params : E.Term.Var.t list;body : E.Term.t;}| Lazy of {arity : int;cst : E.Term.Const.t;eval_lazy : Env.t -> (Env.t -> E.term -> Value.t) -> E.term list -> Value.t;}| Parametric of {arity : int;cst : E.Term.Const.t;ty_args : E.Ty.t list;eval_p : Value.t list -> Value.t;}and t = | Partial of {func : value_function;args : E.term list;}| Ad_hoc of {cst : E.Term.Const.t;ty_args : E.Ty.t list;eval_a : E.Ty.t -> Value.t;}val print : Stdlib.Format.formatter -> t -> unitval ad_hoc :
cst:E.Term.Const.t ->
?ty_args:E.Ty.t list ->
(E.Ty.t -> Value.t) ->
Value.tval mk :
env:'a ->
eval:('b -> E.Term.t -> Value.t) ->
E.Ty.Var.t list ->
E.Term.Var.t list ->
E.Term.t ->
Value.tval builtin :
arity:int ->
cst:E.Term.Const.t ->
?ty_args:E.Ty.t list ->
(Value.t list -> Value.t) ->
Value.tval fun_1 :
cst:E.Term.Const.t ->
?ty_args:E.Ty.t list ->
(Value.t -> Value.t) ->
Value.tval fun_n :
cst:E.Term.Const.t ->
?ty_args:E.Ty.t list ->
(Value.t list -> Value.t) ->
Value.tval arity : value_function -> int