recovered some ML toplevel pp;
authorwenzelm
Thu, 11 Aug 2011 12:30:41 +0200
changeset 44150 d0d76f40d7a0
parent 44149 fdf0af3eaeb9
child 44151 e842a2cf923c
recovered some ML toplevel pp;
Admin/polyml/future/ROOT.ML
--- a/Admin/polyml/future/ROOT.ML	Thu Aug 11 12:24:10 2011 +0200
+++ b/Admin/polyml/future/ROOT.ML	Thu Aug 11 12:30:41 2011 +0200
@@ -35,3 +35,18 @@
 use "Concurrent/par_list.ML";
 use "Concurrent/cache.ML";
 
+PolyML.addPrettyPrinter (fn depth => fn pretty => fn var =>
+  pretty (Synchronized.value var, depth));
+
+PolyML.addPrettyPrinter (fn depth => fn pretty => fn x =>
+  (case Future.peek x of
+    NONE => PolyML.PrettyString "<future>"
+  | SOME (Exn.Exn _) => PolyML.PrettyString "<failed>"
+  | SOME (Exn.Res y) => pretty (y, depth)));
+
+PolyML.addPrettyPrinter (fn depth => fn pretty => fn x =>
+  (case Lazy.peek x of
+    NONE => PolyML.PrettyString "<lazy>"
+  | SOME (Exn.Exn _) => PolyML.PrettyString "<failed>"
+  | SOME (Exn.Res y) => pretty (y, depth)));
+