aboutsummaryrefslogtreecommitdiff
path: root/parsing
diff options
context:
space:
mode:
Diffstat (limited to 'parsing')
-rw-r--r--parsing/printer.ml11
-rw-r--r--parsing/printer.mli2
2 files changed, 13 insertions, 0 deletions
diff --git a/parsing/printer.ml b/parsing/printer.ml
index 8ef206649e..6119f5d1e7 100644
--- a/parsing/printer.ml
+++ b/parsing/printer.ml
@@ -527,3 +527,14 @@ let pr_assumptionset env s =
in
(Option.default (mt ()) vars) ++ (Option.default (mt ()) axioms)
+let cmap_to_list m = Cmap.fold (fun k v acc -> v :: acc) m []
+
+open Typeclasses
+
+let pr_instance i =
+ pr_global (ConstRef (instance_impl i))
+
+let pr_instance_gmap insts =
+ prlist_with_sep fnl (fun (gr, insts) ->
+ prlist_with_sep fnl pr_instance (cmap_to_list insts))
+ (Gmap.to_list insts)
diff --git a/parsing/printer.mli b/parsing/printer.mli
index 262826ac8c..a4e0cd570f 100644
--- a/parsing/printer.mli
+++ b/parsing/printer.mli
@@ -137,3 +137,5 @@ val set_printer_pr : printer_pr -> unit
val default_printer_pr : printer_pr
+val pr_instance_gmap : (global_reference, Typeclasses.instance Names.Cmap.t) Gmap.t ->
+ Pp.std_ppcmds