src/Pure/Concurrent/future.ML
changeset 37706 b16231572c61
parent 37698 ad5489a6be48
child 38120 a902f158b4fc
     1.1 --- a/src/Pure/Concurrent/future.ML	Sun Jul 04 00:05:32 2010 +0200
     1.2 +++ b/src/Pure/Concurrent/future.ML	Sun Jul 04 21:01:22 2010 +0200
     1.3 @@ -59,6 +59,7 @@
     1.4    val cancel_group: group -> unit
     1.5    val cancel: 'a future -> unit
     1.6    val shutdown: unit -> unit
     1.7 +  val report: (unit -> 'a) -> 'a
     1.8  end;
     1.9  
    1.10  structure Future: FUTURE =
    1.11 @@ -523,6 +524,16 @@
    1.12    else ();
    1.13  
    1.14  
    1.15 +(* report markup *)
    1.16 +
    1.17 +fun report e =
    1.18 +  let
    1.19 +    val _ = Output.status (Markup.markup Markup.forked "");
    1.20 +    val x = e ();  (*sic -- report "joined" only for success*)
    1.21 +    val _ = Output.status (Markup.markup Markup.joined "");
    1.22 +  in x end;
    1.23 +
    1.24 +
    1.25  (*final declarations of this structure!*)
    1.26  val map = map_future;
    1.27