more tracing information via Par_List.map_name;
authorwenzelm
Sat, 05 Feb 2011 20:38:32 +0100
changeset 41711 3422ae5aff3a
parent 41710 11ae688e4e30
child 41712 82339c3fd74a
child 41719 91c2510e19c5
more tracing information via Par_List.map_name;
src/Pure/Concurrent/par_list.ML
src/Pure/Concurrent/par_list_sequential.ML
src/Pure/Isar/outer_syntax.ML
src/Pure/Syntax/syntax.ML
src/Pure/context.ML
--- a/src/Pure/Concurrent/par_list.ML	Sat Feb 05 18:09:57 2011 +0100
+++ b/src/Pure/Concurrent/par_list.ML	Sat Feb 05 20:38:32 2011 +0100
@@ -16,6 +16,7 @@
 
 signature PAR_LIST =
 sig
+  val map_name: string -> ('a -> 'b) -> 'a list -> 'b list
   val map: ('a -> 'b) -> 'a list -> 'b list
   val get_some: ('a -> 'b option) -> 'a list -> 'b option
   val find_some: ('a -> bool) -> 'a list -> 'a option
@@ -40,7 +41,8 @@
         handle exn => (if Exn.is_interrupt exn then Future.cancel_group group else (); reraise exn);
     in results end;
 
-fun map f xs = Exn.release_first (managed_results "Par_List.map" f xs);
+fun map_name name f xs = Exn.release_first (managed_results name f xs);
+fun map f = map_name "Par_List.map" f;
 
 fun get_some f xs =
   let
--- a/src/Pure/Concurrent/par_list_sequential.ML	Sat Feb 05 18:09:57 2011 +0100
+++ b/src/Pure/Concurrent/par_list_sequential.ML	Sat Feb 05 20:38:32 2011 +0100
@@ -7,6 +7,7 @@
 structure Par_List: PAR_LIST =
 struct
 
+fun map_name _ = map;
 val map = map;
 val get_some = get_first;
 val find_some = find_first;
--- a/src/Pure/Isar/outer_syntax.ML	Sat Feb 05 18:09:57 2011 +0100
+++ b/src/Pure/Isar/outer_syntax.ML	Sat Feb 05 20:38:32 2011 +0100
@@ -279,7 +279,7 @@
     val spans = Source.exhaust (Thy_Syntax.span_source toks);
     val _ = List.app Thy_Syntax.report_span spans;  (* FIXME ?? *)
     val atoms = Source.exhaust (Thy_Syntax.atom_source (Source.of_list spans))
-      |> Par_List.map (prepare_atom commands init) |> flat;
+      |> Par_List.map_name "Outer_Syntax.prepare_atom" (prepare_atom commands init) |> flat;
 
     val _ = Present.theory_source name
       (fn () => HTML.html_mode (implode o map Thy_Syntax.present_span) spans);
--- a/src/Pure/Syntax/syntax.ML	Sat Feb 05 18:09:57 2011 +0100
+++ b/src/Pure/Syntax/syntax.ML	Sat Feb 05 20:38:32 2011 +0100
@@ -756,7 +756,7 @@
             \Retry with smaller syntax_ambiguity_level for more information."
           else "";
 
-        val errs = Par_List.map check ts;
+        val errs = Par_List.map_name "Syntax.disambig" check ts;
         val results = map_filter (fn (t, NONE) => SOME t | _ => NONE) (ts ~~ errs);
         val len = length results;
 
--- a/src/Pure/context.ML	Sat Feb 05 18:09:57 2011 +0100
+++ b/src/Pure/context.ML	Sat Feb 05 20:38:32 2011 +0100
@@ -141,7 +141,7 @@
 
 fun merge_data pp (data1, data2) =
   Datatab.keys (Datatab.merge (K true) (data1, data2))
-  |> Par_List.map (fn k =>
+  |> Par_List.map_name "Context.merge_data" (fn k =>
     (case (Datatab.lookup data1 k, Datatab.lookup data2 k) of
       (SOME x, NONE) => (k, invoke_extend k x)
     | (NONE, SOME y) => (k, invoke_extend k y)