Proofview.NonLogicalThe NonLogical module allows the execution of effects (including I/O) in tactics (non-logical side-effects are not discarded at failures).
The non-logical monad is a simple unit -> 'a (i/o) monad. The operations are simple wrappers around corresponding usual operations and require little documentation.
val read_line : string tval print_char : char -> unit tval raise : Exninfo.iexn -> 'a tPervasives.raise. Except that exceptions are wrapped with Exception.
val catch : 'a t -> (Exninfo.iexn -> 'a t) -> 'a ttry ... with ... but restricted to Exception.
val make : (unit -> 'a) -> 'a tConstruct a monadified side-effect. Exceptions raised by the argument are wrapped with Exception.
val run : 'a t -> 'arun performs effects.