1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
module V = Map.Make(Dolmen.Std.Expr.Term.Var)
module C = Map.Make(Dolmen.Std.Expr.Term.Const)
type builtins =
eval:(t -> Dolmen.Std.Expr.Term.t -> Value.t) ->
t -> Dolmen.Std.Expr.Term.Const.t -> Value.t option
and t = {
model : Model.t;
builtins : builtins;
}
let mk model ~builtins =
{ model; builtins; }
let builtins t = t.builtins
let model { model; _ } = model
let update_model t f = { t with model = f t.model; }