human-readable printing of TaskQueue.task/group;
authorwenzelm
Tue, 09 Sep 2008 16:59:48 +0200
changeset 28179 8e8313aededc
parent 28178 e56b8b044bef
child 28180 3f69c3c54478
human-readable printing of TaskQueue.task/group;
src/Pure/Concurrent/task_queue.ML
src/Pure/pure_setup.ML
--- a/src/Pure/Concurrent/task_queue.ML	Tue Sep 09 16:35:57 2008 +0200
+++ b/src/Pure/Concurrent/task_queue.ML	Tue Sep 09 16:59:48 2008 +0200
@@ -10,6 +10,8 @@
   eqtype task
   eqtype group
   val new_group: unit -> group
+  val str_of_task: task -> string
+  val str_of_group: group -> string
   type queue
   val empty: queue
   val enqueue: group -> task list -> (bool -> bool) -> queue -> task * queue
@@ -28,6 +30,9 @@
 datatype group = Group of serial;
 fun new_group () = Group (serial ());
 
+fun str_of_task (Task i) = string_of_int i;
+fun str_of_group (Group i) = string_of_int i;
+
 
 (* jobs *)
 
--- a/src/Pure/pure_setup.ML	Tue Sep 09 16:35:57 2008 +0200
+++ b/src/Pure/pure_setup.ML	Tue Sep 09 16:59:48 2008 +0200
@@ -28,6 +28,8 @@
 
 (* ML toplevel pretty printing *)
 
+install_pp (make_pp ["TaskQueue", "task"] (Pretty.pprint o Pretty.str o TaskQueue.str_of_task));
+install_pp (make_pp ["TaskQueue", "group"] (Pretty.pprint o Pretty.str o TaskQueue.str_of_group));
 install_pp (make_pp ["Position", "T"] (Pretty.pprint o Pretty.enum "," "{" "}" o
   map (fn (x, y) => Pretty.str (x ^ "=" ^ y)) o Position.properties_of));
 install_pp (make_pp ["Thm", "thm"] ProofDisplay.pprint_thm);