aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorglondu2010-11-02 15:58:58 +0000
committerglondu2010-11-02 15:58:58 +0000
commit493f2bd27e23a8f56ec4cd8a65dde19f95380662 (patch)
tree3a1b050688137c74e585b2ccd9e383cb00c73080 /kernel
parentcce4c64a95e5f835cfd28bb3589c535903cbd011 (diff)
More generic Univ.dump_universes
Instead of formatting directly to an output channel, provide an output function that handles formatting and I/O. This allows changing the output format. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13610 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel')
-rw-r--r--kernel/univ.ml15
-rw-r--r--kernel/univ.mli4
2 files changed, 6 insertions, 13 deletions
diff --git a/kernel/univ.ml b/kernel/univ.ml
index 40bd2a20d4..da6f2e1791 100644
--- a/kernel/univ.ml
+++ b/kernel/univ.ml
@@ -600,19 +600,10 @@ let dump_universes output g =
let dump_arc _ = function
| Canonical {univ=u; lt=lt; le=le} ->
let u_str = string_of_univ_level u in
- List.iter
- (fun v ->
- Printf.fprintf output "%s < %s ;\n" u_str
- (string_of_univ_level v))
- lt;
- List.iter
- (fun v ->
- Printf.fprintf output "%s <= %s ;\n" u_str
- (string_of_univ_level v))
- le
+ List.iter (fun v -> output `Lt u_str (string_of_univ_level v)) lt;
+ List.iter (fun v -> output `Le u_str (string_of_univ_level v)) le
| Equiv (u,v) ->
- Printf.fprintf output "%s = %s ;\n"
- (string_of_univ_level u) (string_of_univ_level v)
+ output `Eq (string_of_univ_level u) (string_of_univ_level v)
in
UniverseLMap.iter dump_arc g
diff --git a/kernel/univ.mli b/kernel/univ.mli
index 3d4f97d515..85e2278911 100644
--- a/kernel/univ.mli
+++ b/kernel/univ.mli
@@ -85,6 +85,8 @@ val pr_constraints : constraints -> Pp.std_ppcmds
(** {6 Dumping to a file } *)
-val dump_universes : out_channel -> universes -> unit
+val dump_universes :
+ ([> `Lt | `Le | `Eq ] -> string -> string -> unit) ->
+ universes -> unit
val hcons1_univ : universe -> universe