diff options
author | 2013-08-25 22:34:08 +0000 | |
---|---|---|
committer | 2013-08-25 22:34:08 +0000 | |
commit | f4a6a6aaa928e7a6c8d360c45268cb82c020c2dc (patch) | |
tree | 95bf369c1f34a6a4c055357b68e60de58849bd11 /plugins/cc | |
parent | 646c6765e5e3307f8898c4f63c405d91c2e6f47b (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 'plugins/cc')
-rw-r--r-- | plugins/cc/ccalgo.ml | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/plugins/cc/ccalgo.ml b/plugins/cc/ccalgo.ml index fbe31fe52..11786cbdc 100644 --- a/plugins/cc/ccalgo.ml +++ b/plugins/cc/ccalgo.ml @@ -83,13 +83,20 @@ type pa_mark= Fmark of pa_fun | Cmark of pa_constructor -module PacMap=Map.Make(struct - type t=pa_constructor - let compare=Pervasives.compare end) +module PacOrd = +struct + type t = pa_constructor + let compare = Pervasives.compare (** FIXME *) +end + +module PafOrd = +struct + type t = pa_fun + let compare = Pervasives.compare (** FIXME *) +end -module PafMap=Map.Make(struct - type t=pa_fun - let compare=Pervasives.compare end) +module PacMap=Map.Make(PacOrd) +module PafMap=Map.Make(PafOrd) type cinfo= {ci_constr: constructor; (* inductive type *) |