src/Pure/ML-Systems/install_pp_polyml.ML
author wenzelm
Sat, 21 Mar 2009 15:09:44 +0100
changeset 30622 dba663f1afa8
parent 29564 f8b933a62151
child 31314 b58d6a33b57f
permissions -rw-r--r--
Datatype for ML pretty printing (cf. mlsource/MLCompiler/Pretty.sml in Poly/ML 5.3).

(*  Title:      Pure/ML-Systems/install_pp_polyml.ML

Extra toplevel pretty-printing for Poly/ML.
*)

install_pp (fn (str, _, _, _) => fn depth => fn (print: 'a * int -> unit) => fn (x: 'a future) =>
  (case Future.peek x of
    NONE => str "<future>"
  | SOME (Exn.Exn _) => str "<failed>"
  | SOME (Exn.Result y) => print (y, depth)));

install_pp (fn (str, _, _, _) => fn depth => fn (print: 'a * int -> unit) => fn (x: 'a lazy) =>
  (case Lazy.peek x of
    NONE => str "<lazy>"
  | SOME (Exn.Exn _) => str "<failed>"
  | SOME (Exn.Result y) => print (y, depth)));