NEWS
changeset 18686 cbbc71acf994
parent 18674 98d380757893
child 18687 af605e186480
equal deleted inserted replaced
18685:725660906cb3 18686:cbbc71acf994
   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.