src/Pure/Isar/toplevel.ML
changeset 60190 906de96ba68a
parent 60189 0d3a62127057
child 60245 79ad597fe699
equal deleted inserted replaced
60189:0d3a62127057 60190:906de96ba68a
    38   val is_init: transition -> bool
    38   val is_init: transition -> bool
    39   val modify_init: (unit -> theory) -> transition -> transition
    39   val modify_init: (unit -> theory) -> transition -> transition
    40   val exit: transition -> transition
    40   val exit: transition -> transition
    41   val keep: (state -> unit) -> transition -> transition
    41   val keep: (state -> unit) -> transition -> transition
    42   val keep': (bool -> state -> unit) -> transition -> transition
    42   val keep': (bool -> state -> unit) -> transition -> transition
       
    43   val keep_proof: (state -> unit) -> transition -> transition
    43   val ignored: Position.T -> transition
    44   val ignored: Position.T -> transition
    44   val is_ignored: transition -> bool
    45   val is_ignored: transition -> bool
    45   val malformed: Position.T -> string -> transition
    46   val malformed: Position.T -> string -> transition
    46   val generic_theory: (generic_theory -> generic_theory) -> transition -> transition
    47   val generic_theory: (generic_theory -> generic_theory) -> transition -> transition
    47   val theory': (bool -> theory -> theory) -> transition -> transition
    48   val theory': (bool -> theory -> theory) -> transition -> transition
   343 fun present_transaction f g = add_trans (Transaction (f, g));
   344 fun present_transaction f g = add_trans (Transaction (f, g));
   344 fun transaction f = present_transaction f (K ());
   345 fun transaction f = present_transaction f (K ());
   345 
   346 
   346 fun keep f = add_trans (Keep (fn _ => f));
   347 fun keep f = add_trans (Keep (fn _ => f));
   347 
   348 
       
   349 fun keep_proof f =
       
   350   keep (fn st =>
       
   351     if is_proof st then f st
       
   352     else if is_skipped_proof st then ()
       
   353     else warning "No proof state");
       
   354 
   348 fun ignored pos = empty |> name "<ignored>" |> position pos |> keep (fn _ => ());
   355 fun ignored pos = empty |> name "<ignored>" |> position pos |> keep (fn _ => ());
   349 fun is_ignored tr = name_of tr = "<ignored>";
   356 fun is_ignored tr = name_of tr = "<ignored>";
   350 
   357 
   351 fun malformed pos msg =
   358 fun malformed pos msg =
   352   empty |> name "<malformed>" |> position pos |> keep (fn _ => error msg);
   359   empty |> name "<malformed>" |> position pos |> keep (fn _ => error msg);