Module Ltac_plugin.Tactic_debug

TODO: Move those definitions somewhere sensible

val ltac_trace_info : Tacexpr.ltac_stack Exninfo.t

This module intends to be a beginning of debugger for tactic expressions. Currently, it is quite simple and we can hope to have, in the future, a more complete panel of commands dedicated to a proof assistant framework

type debug_info =
| DebugOn of int
| DebugOff

Debug information

Prints the state and waits

val db_initialize : bool -> unit Proofview.NonLogical.t

Initializes debugger

Prints a constr

val explain_logic_error : exn -> Pp.t

An exception handler

val explain_logic_error_no_anomaly : exn -> Pp.t

For use in the Ltac debugger: some exception that are usually consider anomalies are acceptable because they are caught later in the process that is being debugged. One should not require from users that they report these anomalies.

Check for/process idtac breakpoint

val defer_output : (unit -> Pp.t) -> unit Proofview.NonLogical.t

Prints a message only if debugger stops at the next step

val push_chunk : Tacexpr.ltac_trace -> unit

Push a trace chunk (multiple frames) onto the trace chunk stack

val pop_chunk : unit -> unit

Pop a trace chunk (multiple frames) from the trace chunk stack