aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/names.ml22
-rw-r--r--kernel/names.mli30
2 files changed, 21 insertions, 31 deletions
diff --git a/kernel/names.ml b/kernel/names.ml
index 9124b46897..2a04ff3c55 100644
--- a/kernel/names.ml
+++ b/kernel/names.ml
@@ -58,15 +58,7 @@ struct
end
module Set = Set.Make(Self)
- module Map =
- struct
- include Map.Make(Self)
- exception Finded
- let exists f m =
- try iter (fun a b -> if f a b then raise Finded) m ; false
- with Finded -> true
- let singleton k v = add k v empty
- end
+ module Map = CMap.Make(Self)
module Pred = Predicate.Make(Self)
@@ -218,7 +210,7 @@ struct
end
-module MBImap = Map.Make(MBId)
+module MBImap = CMap.Make(MBId)
module MBIset = Set.Make(MBId)
(** {6 Names of structure elements } *)
@@ -298,7 +290,7 @@ module ModPath = struct
end
module MPset = Set.Make(ModPath)
-module MPmap = Map.Make(ModPath)
+module MPmap = CMap.Make(ModPath)
(** {6 Kernel names } *)
@@ -357,7 +349,7 @@ module KerName = struct
end
-module KNmap = Map.Make(KerName)
+module KNmap = CMap.Make(KerName)
module KNpred = Predicate.Make(KerName)
module KNset = Set.Make(KerName)
@@ -467,8 +459,8 @@ end
module Constant = KerPair
-module Cmap = Map.Make(Constant.CanOrd)
-module Cmap_env = Map.Make(Constant.UserOrd)
+module Cmap = CMap.Make(Constant.CanOrd)
+module Cmap_env = CMap.Make(Constant.UserOrd)
module Cpred = Predicate.Make(Constant.CanOrd)
module Cset = Set.Make(Constant.CanOrd)
module Cset_env = Set.Make(Constant.UserOrd)
@@ -477,7 +469,7 @@ module Cset_env = Set.Make(Constant.UserOrd)
module MutInd = KerPair
-module Mindmap = Map.Make(MutInd.CanOrd)
+module Mindmap = CMap.Make(MutInd.CanOrd)
module Mindset = Set.Make(MutInd.CanOrd)
module Mindmap_env = Map.Make(MutInd.UserOrd)
diff --git a/kernel/names.mli b/kernel/names.mli
index c05e30b9b5..82df075626 100644
--- a/kernel/names.mli
+++ b/kernel/names.mli
@@ -6,6 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Util
+
(** {6 Identifiers } *)
module Id :
@@ -35,7 +37,7 @@ sig
module Set : Set.S with type elt = t
(** Finite sets of identifiers. *)
- module Map : Map.S with type key = t
+ module Map : Map.ExtS with type key = t and module Set := Set
(** Finite maps of identifiers. *)
module Pred : Predicate.S with type elt = t
@@ -133,7 +135,7 @@ sig
(** Pretty-printer. *)
module Set : Set.S with type elt = t
- module Map : Map.S with type key = t
+ module Map : Map.ExtS with type key = t and module Set := Set
end
@@ -170,7 +172,7 @@ sig
end
module MBIset : Set.S with type elt = MBId.t
-module MBImap : Map.S with type key = MBId.t
+module MBImap : Map.ExtS with type key = MBId.t and module Set := MBIset
(** {6 The module part of the kernel name } *)
@@ -194,7 +196,7 @@ sig
end
module MPset : Set.S with type elt = ModPath.t
-module MPmap : Map.S with type key = ModPath.t
+module MPmap : Map.ExtS with type key = ModPath.t and module Set := MPset
(** {6 The absolute names of objects seen by kernel } *)
@@ -222,7 +224,7 @@ end
module KNset : Set.S with type elt = KerName.t
module KNpred : Predicate.S with type elt = KerName.t
-module KNmap : Map.S with type key = KerName.t
+module KNmap : Map.ExtS with type key = KerName.t and module Set := KNset
(** {6 Constant Names } *)
@@ -288,11 +290,11 @@ end
(** The [*_env] modules consider an order on user part of names
the others consider an order on canonical part of names*)
-module Cmap : Map.S with type key = Constant.t
-module Cmap_env : Map.S with type key = Constant.t
-module Cpred : Predicate.S with type elt = Constant.t
-module Cset : Set.S with type elt = Constant.t
+module Cpred : Predicate.S with type elt = Constant.t
+module Cset : Set.S with type elt = Constant.t
module Cset_env : Set.S with type elt = Constant.t
+module Cmap : Map.ExtS with type key = Constant.t and module Set := Cset
+module Cmap_env : Map.ExtS with type key = Constant.t and module Set := Cset_env
(** {6 Inductive names} *)
@@ -352,9 +354,9 @@ sig
end
-module Mindmap : Map.S with type key = MutInd.t
-module Mindmap_env : Map.S with type key = MutInd.t
module Mindset : Set.S with type elt = MutInd.t
+module Mindmap : Map.ExtS with type key = MutInd.t and module Set := Mindset
+module Mindmap_env : Map.S with type key = MutInd.t
(** Beware: first inductive has index 0 *)
type inductive = MutInd.t * int
@@ -448,11 +450,7 @@ module Idset : Set.S with type elt = identifier and type t = Id.Set.t
module Idpred : Predicate.S with type elt = identifier and type t = Id.Pred.t
(** @deprecated Same as [Id.Pred]. *)
-module Idmap : sig
- include Map.S with type key = identifier
- val exists : (identifier -> 'a -> bool) -> 'a t -> bool
- val singleton : key -> 'a -> 'a t
-end
+module Idmap : module type of Id.Map
(** @deprecated Same as [Id.Map]. *)
(** {5 Directory paths} *)