aboutsummaryrefslogtreecommitdiffhomepage
path: root/library/goptions.ml
diff options
context:
space:
mode:
authorGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-08-25 22:34:08 +0000
committerGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-08-25 22:34:08 +0000
commitf4a6a6aaa928e7a6c8d360c45268cb82c020c2dc (patch)
tree95bf369c1f34a6a4c055357b68e60de58849bd11 /library/goptions.ml
parent646c6765e5e3307f8898c4f63c405d91c2e6f47b (diff)
Added a more efficient way to recover the domain of a map.
The extended signature is defined in CMap, and should be compatible with the old one, except that module arguments have to be explicitely named. The implementation itself is quite unsafe, as it relies on the current implementation of OCaml maps, even though that should not be a problem (it has not changed in ages). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16735 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library/goptions.ml')
-rw-r--r--library/goptions.ml9
1 files changed, 7 insertions, 2 deletions
diff --git a/library/goptions.ml b/library/goptions.ml
index 80539a156..4151e6774 100644
--- a/library/goptions.ml
+++ b/library/goptions.ml
@@ -192,8 +192,13 @@ type 'a option_sig = {
optread : unit -> 'a;
optwrite : 'a -> unit }
-module OptionMap =
- Map.Make (struct type t = option_name let compare = compare end)
+module OptionOrd =
+struct
+ type t = option_name
+ let compare = compare
+end
+
+module OptionMap = Map.Make(OptionOrd)
let value_tab = ref OptionMap.empty