aboutsummaryrefslogtreecommitdiffhomepage
path: root/parsing
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-08-22 18:22:33 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-08-22 18:22:33 +0000
commit7e3160a5b94c86d7c9ba7beae9a9464b5ddf9019 (patch)
tree62ac5b8b1016d1cc0cd4627a88716c0c393856aa /parsing
parentef9f42afe284dae1794acd2f27d6e82f8c941c7b (diff)
- New auto hints for transparency/opacity control, not bound to
syntax yet. Doesn't change the auto/eauto behavior either. - Typeclass resolution now considers everything transparent by default and does it consistently for "open" and closed terms. - Correctly declare singleton classes definition as opaque for proof search. - Add a few initial declarations to make iff, id, compose... opaque - Add definition of dependent signatures for dependent function types and remove corresponding exception code in class_tactics. The instance requires higher-order unification and is not really usable yet. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11333 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing')
-rw-r--r--parsing/ppvernac.ml3
-rw-r--r--parsing/prettyp.ml5
-rw-r--r--parsing/prettyp.mli2
3 files changed, 9 insertions, 1 deletions
diff --git a/parsing/ppvernac.ml b/parsing/ppvernac.ml
index 99d8e3c4a..bfcaf9916 100644
--- a/parsing/ppvernac.ml
+++ b/parsing/ppvernac.ml
@@ -199,6 +199,9 @@ let pr_hints local db h pr_c pr_pat =
str"Immediate" ++ spc() ++ prlist_with_sep sep pr_c l
| HintsUnfold l ->
str "Unfold " ++ prlist_with_sep sep pr_reference l
+ | HintsTransparency (l, b) ->
+ str (if b then "Transparent " else "Opaque ") ++ prlist_with_sep sep
+ pr_reference l
| HintsConstructors c ->
str"Constructors" ++ spc() ++ prlist_with_sep spc pr_reference c
| HintsExtern (n,c,tac) ->
diff --git a/parsing/prettyp.ml b/parsing/prettyp.ml
index 7e10264ef..3624fe792 100644
--- a/parsing/prettyp.ml
+++ b/parsing/prettyp.ml
@@ -784,6 +784,11 @@ let pr_instance env i =
(* lighter *)
print_ref false (ConstRef (instance_impl i))
+let print_all_instances () =
+ let env = Global.env () in
+ let inst = all_instances () in
+ prlist_with_sep fnl (pr_instance env) inst
+
let print_instances r =
let env = Global.env () in
let inst = instances r in
diff --git a/parsing/prettyp.mli b/parsing/prettyp.mli
index db1d8bb10..88b0a80ec 100644
--- a/parsing/prettyp.mli
+++ b/parsing/prettyp.mli
@@ -61,7 +61,7 @@ val print_canonical_projections : unit -> std_ppcmds
(* Pretty-printing functions for type classes and instances *)
val print_typeclasses : unit -> std_ppcmds
val print_instances : global_reference -> std_ppcmds
-
+val print_all_instances : unit -> std_ppcmds
val inspect : int -> std_ppcmds