330 * Pure: structure Goal provides simple interfaces for |
330 * Pure: structure Goal provides simple interfaces for |
331 init/conclude/finish and tactical prove operations (replacing former |
331 init/conclude/finish and tactical prove operations (replacing former |
332 Tactic.prove). Note that OldGoals.prove_goalw_cterm has long been |
332 Tactic.prove). Note that OldGoals.prove_goalw_cterm has long been |
333 obsolete, it is ill-behaved in a local proof context (e.g. with local |
333 obsolete, it is ill-behaved in a local proof context (e.g. with local |
334 fixes/assumes or in a locale context). |
334 fixes/assumes or in a locale context). |
|
335 |
|
336 * ML/Isar: simplified treatment of user-level errors, using exception |
|
337 ERROR of string uniformly. Function now error merely raises ERROR, |
|
338 without any side effect on output channels. The Isar toplevel takes |
|
339 care of proper display of ERROR exceptions. ML code may use plain |
|
340 handle/can/try; cat_error may be used to concatenate errors like this: |
|
341 |
|
342 ... handle ERROR msg => cat_error msg "..." |
|
343 |
|
344 Toplevel ML code (run directly or through the Isar toplevel) may be |
|
345 embedded into the Isar exception display/debug facilities as follows: |
|
346 |
|
347 Isar.toplevel (fn () => ...) |
|
348 |
|
349 INCOMPATIBILITY, removed special transform_error facilities, removed |
|
350 obsolete variants of user-level exceptions (ERROR_MESSAGE, |
|
351 Context.PROOF, ProofContext.CONTEXT, Proof.STATE, ProofHistory.FAIL) |
|
352 -- use plain ERROR instead. |
335 |
353 |
336 * Pure/Isar: Toplevel.theory_to_proof admits transactions that modify |
354 * Pure/Isar: Toplevel.theory_to_proof admits transactions that modify |
337 the theory before entering a proof state. Transactions now always see |
355 the theory before entering a proof state. Transactions now always see |
338 a quasi-functional intermediate checkpoint, both in interactive and |
356 a quasi-functional intermediate checkpoint, both in interactive and |
339 batch mode. |
357 batch mode. |