aboutsummaryrefslogtreecommitdiff
path: root/parsing/printer.ml
diff options
context:
space:
mode:
authormsozeau2008-07-01 17:03:43 +0000
committermsozeau2008-07-01 17:03:43 +0000
commitf6007680bfa822ecc3d2f101fb6e21e2b1464b1b (patch)
treeb1868ec32ab9c1f901f1cd4d51f44e80c9e78b82 /parsing/printer.ml
parent403399674d51d725c56ddbc15bc3d593ead8a800 (diff)
Various bug fixes in type classes and subtac:
- Cases on multiple objects - Avoid dangerous coercion with evars in subtac_coercion - Resolve typeclasses method-by-method to get better error messages. - Correct merging of instance databases (and add debug printer) - Fix a script in NOrder where a setoid_replace was not working before. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11198 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing/printer.ml')
-rw-r--r--parsing/printer.ml11
1 files changed, 11 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)