toplevel pp for Proof.state and Toplevel.state;
authorwenzelm
Tue, 20 Jul 2010 20:56:28 +0200
changeset 37858 e1ef6b441fe7
parent 37857 4e4b8c0dc766
child 37859 575a14dd4167
toplevel pp for Proof.state and Toplevel.state;
src/Pure/Isar/toplevel.ML
src/Pure/pure_setup.ML
--- a/src/Pure/Isar/toplevel.ML	Tue Jul 20 20:10:27 2010 +0200
+++ b/src/Pure/Isar/toplevel.ML	Tue Jul 20 20:56:28 2010 +0200
@@ -24,6 +24,7 @@
   val enter_proof_body: state -> Proof.state
   val print_state_context: state -> unit
   val print_state: bool -> state -> unit
+  val pretty_abstract: state -> Pretty.T
   val quiet: bool Unsynchronized.ref
   val debug: bool Unsynchronized.ref
   val interact: bool Unsynchronized.ref
@@ -212,6 +213,8 @@
   | SOME (SkipProof (d, _)) => [Pretty.str ("skipped proof: depth " ^ string_of_int d)])
   |> Pretty.markup_chunks Markup.state |> Pretty.writeln;
 
+fun pretty_abstract state = Pretty.str ("<Isar " ^ str_of_state state ^ ">");
+
 
 
 (** toplevel transitions **)
--- a/src/Pure/pure_setup.ML	Tue Jul 20 20:10:27 2010 +0200
+++ b/src/Pure/pure_setup.ML	Tue Jul 20 20:56:28 2010 +0200
@@ -34,6 +34,8 @@
 toplevel_pp ["Syntax", "ast"] "Syntax.pretty_ast";
 toplevel_pp ["Path", "T"] "Pretty.str o quote o Path.implode";
 toplevel_pp ["File", "ident"] "Pretty.str o quote o File.rep_ident";
+toplevel_pp ["Proof", "state"] "(fn _: Proof.state => Pretty.str \"<Proof.state>\")";
+toplevel_pp ["Toplevel", "state"] "Toplevel.pretty_abstract";
 
 if ml_system = "polyml-5.3.0"
 then use "ML-Systems/install_pp_polyml-5.3.ML"