src/Pure/Concurrent/lazy.ML
changeset 62663 bea354f6ff21
parent 59348 8a6788917b32
child 62819 d3ff367a16a0
--- a/src/Pure/Concurrent/lazy.ML	Thu Mar 17 16:56:44 2016 +0100
+++ b/src/Pure/Concurrent/lazy.ML	Fri Mar 18 16:26:35 2016 +0100
@@ -99,7 +99,16 @@
   if is_finished x then Future.value_result (force_result x)
   else (singleton o Future.forks) params (fn () => force x);
 
+
+(* toplevel pretty printing *)
+
+val _ =
+  PolyML.addPrettyPrinter (fn depth => fn pretty => fn x =>
+    (case peek x of
+      NONE => PolyML.PrettyString "<lazy>"
+    | SOME (Exn.Exn _) => PolyML.PrettyString "<failed>"
+    | SOME (Exn.Res y) => pretty (y, depth)));
+
 end;
 
 type 'a lazy = 'a Lazy.lazy;
-