Source file ser_cooking.ml
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
open Sexplib.Std
open Ppx_hash_lib.Std.Hash.Builtin
open Ppx_compare_lib.Builtin
module Names = Ser_names
module Univ = Ser_univ
module UVars = Ser_uvars
module Constr = Ser_constr
type abstr_info = {
abstr_ctx : Constr.named_context;
abstr_auctx : UVars.AbstractContext.t;
abstr_ausubst : UVars.Instance.t;
} [@@deriving sexp,yojson,hash,compare]
type abstr_inst_info = {
abstr_rev_inst : Names.Id.t list;
abstr_uinst : UVars.Instance.t;
} [@@deriving sexp,yojson,hash,compare]
type 'a entry_map = 'a Names.Cmap.t * 'a Names.Mindmap.t [@@deriving sexp,yojson,hash,compare]
type expand_info = abstr_inst_info entry_map [@@deriving sexp,yojson,hash,compare]
module CIP = struct
type _t = {
expand_info : expand_info;
abstr_info : abstr_info;
} [@@deriving sexp,yojson,hash,compare]
type t =
[%import: Cooking.cooking_info]
end
module B_ = SerType.Pierce(CIP)
type cooking_info = B_.t
[@@deriving sexp,yojson,hash,compare]