aboutsummaryrefslogtreecommitdiffhomepage
path: root/library
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-10-24 21:29:41 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-10-24 21:29:41 +0000
commit6da011a8677676462b24940a6171fb22615c3fbb (patch)
tree0df385cc8b8d72b3465d7745d2b97283245c7ed5 /library
parent133a2143413a723d1d4e3dead5ffa8458f61afa8 (diff)
More monomorphic List.mem + List.assoc + ...
To reduce the amount of syntactic noise, we now provide a few inner modules Int.List, Id.List, String.List, Sorts.List which contain some monomorphic (or semi-monomorphic) functions such as mem, assoc, ... NB: for Int.List.mem and co we reuse List.memq and so on. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16936 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library')
-rw-r--r--library/goptions.ml10
-rw-r--r--library/library.ml4
-rw-r--r--library/nametab.ml2
3 files changed, 7 insertions, 9 deletions
diff --git a/library/goptions.ml b/library/goptions.ml
index 87c387080..7ceac2f6a 100644
--- a/library/goptions.ml
+++ b/library/goptions.ml
@@ -60,7 +60,7 @@ module MakeTable =
let nick = nickname A.key
let _ =
- if List.mem_assoc nick !A.table then
+ if String.List.mem_assoc nick !A.table then
error "Sorry, this table name is already used."
module MySet = Set.Make (struct type t = A.t let compare = compare end)
@@ -121,7 +121,7 @@ module MakeTable =
let string_table = ref []
-let get_string_table k = List.assoc_f String.equal (nickname k) !string_table
+let get_string_table k = String.List.assoc (nickname k) !string_table
module type StringConvertArg =
sig
@@ -150,7 +150,7 @@ module MakeStringTable =
let ref_table = ref []
-let get_ref_table k = List.assoc_f String.equal (nickname k) !ref_table
+let get_ref_table k = String.List.assoc (nickname k) !ref_table
module type RefConvertArg =
sig
@@ -210,8 +210,8 @@ let check_key key = try
let _ = get_option key in
error "Sorry, this option name is already used."
with Not_found ->
- if List.mem_assoc (nickname key) !string_table
- || List.mem_assoc (nickname key) !ref_table
+ if String.List.mem_assoc (nickname key) !string_table
+ || String.List.mem_assoc (nickname key) !ref_table
then error "Sorry, this option name is already used."
open Libobject
diff --git a/library/library.ml b/library/library.ml
index 09968c5ae..d2d67f484 100644
--- a/library/library.ml
+++ b/library/library.ml
@@ -234,9 +234,7 @@ let locate_qualified_library warn qid =
let name = Id.to_string base ^ ".vo" in
let lpath, file = System.where_in_path ~warn (List.map fst loadpath) name
in
- let dir =
- add_dirpath_suffix (List.assoc_f String.equal lpath loadpath) base
- in
+ let dir = add_dirpath_suffix (String.List.assoc lpath loadpath) base in
(* Look if loaded *)
if library_is_loaded dir then (LibLoaded, dir, library_full_filename dir)
(* Otherwise, look for it in the file system *)
diff --git a/library/nametab.ml b/library/nametab.ml
index fd27ef264..7eb48a714 100644
--- a/library/nametab.ml
+++ b/library/nametab.ml
@@ -240,7 +240,7 @@ let shortest_qualid ctx uname tab =
let push_node node l =
match node with
- | Absolute (_,o) | Relative (_,o) when not (List.mem o l) -> o::l
+ | Absolute (_,o) | Relative (_,o) when not (List.mem_f E.equal o l) -> o::l
| _ -> l
let rec flatten_idmap tab l =