aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
authorEnrico Tassi2014-11-09 19:44:17 +0100
committerEnrico Tassi2014-11-09 19:44:17 +0100
commitce80fa3cb3e6d8809bb3ee015bff39c67c0aed16 (patch)
treebe80159f44855799c885174910de3931fdde07b2 /pretyping
parent91c2a866e7827c0ede0539cb49f924b68db569a9 (diff)
new: Optimize Proof, Optimize Heap
- drops all Defined entries from the evar map (applying the subst to the initial evar and the undefined evars types). - call Gc.compact Now the question is: where should these two commands be documented?
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/evd.ml2
-rw-r--r--pretyping/evd.mli2
2 files changed, 4 insertions, 0 deletions
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index ab595be25b..d36a6a20fb 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -655,6 +655,8 @@ let to_list d =
let undefined_map d = d.undf_evars
+let drop_all_defined d = { d with defn_evars = EvMap.empty }
+
(* spiwack: not clear what folding over an evar_map, for now we shall
simply fold over the inner evar_map. *)
let fold f d a =
diff --git a/pretyping/evd.mli b/pretyping/evd.mli
index 513ade646b..6c7ef2168c 100644
--- a/pretyping/evd.mli
+++ b/pretyping/evd.mli
@@ -208,6 +208,8 @@ val undefined_map : evar_map -> evar_info Evar.Map.t
val eq_evar_info : evar_map -> evar_info -> evar_info -> bool
(** Compare the evar_info's up to the universe constraints of the evar map. *)
+val drop_all_defined : evar_map -> evar_map
+
(** {6 Instantiating partial terms} *)
exception NotInstantiatedEvar