Implement Makarius's suggestion for improved type pattern parsing.
authorTimothy Bourke
Tue, 03 Mar 2009 12:14:52 +1100
changeset 30207 c56d27155041
parent 30206 48507466d9d2
child 30212 4b35b0f85b42
child 30224 79136ce06bdb
Implement Makarius's suggestion for improved type pattern parsing.
src/Pure/Tools/find_consts.ML
--- a/src/Pure/Tools/find_consts.ML	Mon Mar 02 18:11:39 2009 +1100
+++ b/src/Pure/Tools/find_consts.ML	Tue Mar 03 12:14:52 2009 +1100
@@ -89,7 +89,13 @@
       if member (op =) (Consts.the_tags consts nm) Markup.property_internal
       then NONE else SOME low_ranking;
 
-    fun make_pattern crit = ProofContext.read_term_pattern ctxt ("_::" ^ crit) |> type_of;
+    fun make_pattern crit =
+      let
+        val raw_T = Syntax.parse_typ ctxt crit;
+        val t = Syntax.check_term
+                  (ProofContext.set_mode ProofContext.mode_pattern ctxt)
+                  (Term.dummy_pattern raw_T);
+      in Term.type_of t end;
 
     fun make_match (Strict arg) =
           let val qty = make_pattern arg; in