aboutsummaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorMaxime Dénès2016-10-03 15:26:17 +0200
committerMaxime Dénès2016-10-03 15:26:17 +0200
commit6cc37a67e4be8e20cd3da46077ab8f3458e22394 (patch)
tree7baf96eaccf037a94d7e525ccaec898955b465bd /engine
parent4a2e0798cf24c9edf4e96bd6ad62bdbde7a7cdf7 (diff)
parentd55818c7da468ce1c7c9644cb63f68f7561a17bc (diff)
Merge remote-tracking branch 'github/pr/263' into v8.6
Was PR#263: Fast lookup in named contexts
Diffstat (limited to 'engine')
-rw-r--r--engine/termops.ml7
-rw-r--r--engine/termops.mli2
2 files changed, 3 insertions, 6 deletions
diff --git a/engine/termops.ml b/engine/termops.ml
index a047bf53c7..17e56ec31e 100644
--- a/engine/termops.ml
+++ b/engine/termops.ml
@@ -975,11 +975,8 @@ let smash_rel_context sign =
let fold_named_context_both_sides f l ~init = List.fold_right_and_left f l init
-let rec mem_named_context id ctxt =
- match ctxt with
- | decl :: _ when Id.equal id (NamedDecl.get_id decl) -> true
- | _ :: sign -> mem_named_context id sign
- | [] -> false
+let mem_named_context_val id ctxt =
+ try Environ.lookup_named_val id ctxt; true with Not_found -> false
let compact_named_context_reverse sign =
let compact l decl =
diff --git a/engine/termops.mli b/engine/termops.mli
index 5d85088f8d..0a7ac1f266 100644
--- a/engine/termops.mli
+++ b/engine/termops.mli
@@ -237,7 +237,7 @@ val map_rel_context_with_binders :
val fold_named_context_both_sides :
('a -> Context.Named.Declaration.t -> Context.Named.Declaration.t list -> 'a) ->
Context.Named.t -> init:'a -> 'a
-val mem_named_context : Id.t -> Context.Named.t -> bool
+val mem_named_context_val : Id.t -> named_context_val -> bool
val compact_named_context : Context.Named.t -> Context.NamedList.t
val compact_named_context_reverse : Context.Named.t -> Context.NamedList.t