theory Commands imports Main
keywords "print_test" :: diag and "global_test" :: thy_decl and "local_test" :: thy_decl begin
subsection‹Diagnostic command: no state change›
ML ‹
Outer_Syntax.command 🍋‹print_test›"print term test"
(Parse.term >> (fn s => Toplevel.keep (fn st => let
val ctxt = Toplevel.context_of st;
val t = Syntax.read_term ctxt s;
val ctxt' = Proof_Context.augment t ctxt; in Pretty.writeln (Syntax.pretty_term ctxt' t) end))); ›
print_test x
print_test "\x. x = a"
subsection‹Old-style globaltheorydeclaration›
ML ‹
Outer_Syntax.command 🍋‹global_test›"test constant declaration"
(Parse.binding >> (fn b => Toplevel.theory (fn thy => let
val thy' = Sign.add_consts [(b, \<^typ>\'a›, NoSyn)] thy; in thy' end))); ›
global_test a
global_test b
print_test a
subsection‹Localtheoryspecification›
ML ‹
Outer_Syntax.local_theory 🍋‹local_test›"test local definition"
(Parse.binding -- (🍋‹=› |-- Parse.term) >> (fn (b, s) => fn lthy => let
val t = Syntax.read_term lthy s;
val (def, lthy') = Local_Theory.define ((b, NoSyn), ((Thm.def_binding b, []), t)) lthy; in lthy' end)); ›
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.