All constants introduced by datatype now operate on class term explicitly.
authornipkow
Wed, 11 Oct 1995 11:22:35 +0100
changeset 1279 f59b4f9f2cdc
parent 1278 7e6189fc833c
child 1280 909079af97b7
All constants introduced by datatype now operate on class term explicitly. They used to take the default class.
src/HOL/datatype.ML
--- a/src/HOL/datatype.ML	Wed Oct 11 10:09:56 1995 +0100
+++ b/src/HOL/datatype.ML	Wed Oct 11 11:22:35 1995 +0100
@@ -193,7 +193,7 @@
 
      (*Pretty printers for type lists;
        pp_typlist1: parentheses, pp_typlist2: brackets*)
-      fun pp_typ (dtVar s) = s
+      fun pp_typ (dtVar s) = "(" ^ s ^ "::term)"
         | pp_typ (dtTyp (typvars, id)) =
 	  if null typvars then id else (pp_typlist1 typvars) ^ id
         | pp_typ (dtRek (typvars, id)) = (pp_typlist1 typvars) ^ id
@@ -294,7 +294,7 @@
       val case_const =
 	(t_case,
 	 "[" ^ gen_typlist new_tvar_name I cons_list 
-	 ^  pp_typlist1 typevars ^ tname ^ "] =>" ^ new_tvar_name,
+	 ^  pp_typlist1 typevars ^ tname ^ "] =>" ^ new_tvar_name^"::term",
 	 NoSyn);
 
       val rules_case = case_rules 1 cons_list;
@@ -330,7 +330,7 @@
       val rec_const =
 	(t_rec,
 	 "[" ^ (gen_typlist new_tvar_name add_reks cons_list) 
-	 ^ (pp_typlist1 typevars) ^ tname ^ "] =>" ^ new_tvar_name,
+	 ^ (pp_typlist1 typevars) ^ tname ^ "] =>" ^ new_tvar_name^"::term",
 	 NoSyn);
 
       val rules_rec = rec_rules 1 cons_list