ML \<open>
fun try_map v seq =
(casetry Seq.pull seq of
SOME (SOME (x, seq')) => Seq.make (fn () => SOME(x, try_map v seq'))
| SOME NONE => Seq.empty
| NONE => v);
\<close>
method_setup catch = \<open>
Method.text_closure -- Method.text_closure >>
(fn (text, text') => fn ctxt => fn using => fn st =>
let
val method = Method.evaluate_runtime text ctxt using;
val backup_results = Method.evaluate_runtime text' ctxt using st;
in
(casetry method st of
SOME seq => try_map backup_results seq
| NONE => backup_results)
end)
\<close>
ML \<open>
fun uncurry_rule thm = Conjunction.uncurry_balanced (Thm.nprems_of thm) thm;
fun curry_rule thm = if Thm.no_prems thm then thm else
let val conjs = Logic.dest_conjunctions (Thm.major_prem_of thm);
in Conjunction.curry_balanced (length conjs) thm end;
\<close>
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.