Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Dolmen_model.Fun
Sourcetype 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 return :
('a, 'b, 'c, 'd, 'd, 'a) CamlinternalFormatBasics.format6 ->
Format.formatter ->
unit ->
unit
val mk :
env:'a ->
eval:('a -> E.Term.t -> Value.t) ->
E.Ty.Var.t list ->
E.Term.Var.t list ->
E.Term.t ->
Value.t