src/Pure/sign.ML
changeset 1216 a2f2360ce1c8
parent 1214 3f3888213ceb
child 1239 2c0d94151e74
--- a/src/Pure/sign.ML	Tue Aug 01 17:17:49 1995 +0200
+++ b/src/Pure/sign.ML	Tue Aug 01 17:19:17 1995 +0200
@@ -25,6 +25,7 @@
     val classes: sg -> class list
     val subsort: sg -> sort * sort -> bool
     val norm_sort: sg -> sort -> sort
+    val nonempty_sort: sg -> (string * sort) list -> sort -> bool
     val print_sg: sg -> unit
     val pretty_sg: sg -> Pretty.T
     val pprint_sg: sg -> pprint_args -> unit
@@ -62,7 +63,6 @@
     val add_name: string -> sg -> sg
     val make_draft: sg -> sg
     val merge: sg * sg -> sg
-    val nonempty_sort: sg * sort list * sort -> bool
     val proto_pure: sg
     val pure: sg
     val cpure: sg
@@ -120,6 +120,7 @@
 
 val subsort = Type.subsort o tsig_of;
 val norm_sort = Type.norm_sort o tsig_of;
+val nonempty_sort = Type.nonempty_sort o tsig_of;
 
 fun pretty_sort [c] = Pretty.str c
   | pretty_sort cs = Pretty.str_list "{" "}" cs;
@@ -135,7 +136,8 @@
     fun prt_typ syn ty = Pretty.quote (Syntax.pretty_typ syn ty);
 
     fun pretty_subclass (cl, cls) = Pretty.block
-      [Pretty.str (cl ^ " <"), Pretty.brk 1, pretty_sort cls];
+      (Pretty.str (cl ^ " <") :: Pretty.brk 1 ::
+        Pretty.commas (map Pretty.str cls));
 
     fun pretty_default cls = Pretty.block
       [Pretty.str "default:", Pretty.brk 1, pretty_sort cls];
@@ -552,11 +554,4 @@
   |> add_syntax Syntax.pure_applC_syntax
   |> add_name "CPure";
 
-(**
-Emptiness-test for sorts: does there exist a type of sort 'sort' whose
-vars have sorts contained in 'sorts'?
-Trivial approximation at the moment.
-**)
-fun nonempty_sort(_,sorts,sort) = exists (fn s => sort subset s) sorts;
-
 end;