(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* string call (** Backtracking by a certain number of phrases. *) val rewind : int -> unit call (** Fetching the list of current goals *) val goals : goals call (** The status, for instance "Ready in SomeSection, proving Foo" *) val status : string call (** Is a directory part of Coq's loadpath ? *) val inloadpath : string -> bool call (** Create a "match" template for a given inductive type. For each branch of the match, we list the constructor name followed by enough pattern variables. *) val mkcases : string -> string list list call (** * Coq answers to CoqIde *) type location = (int * int) option (* start and end of the error *) type 'a value = | Good of 'a | Fail of (location * string) (** * The structure that coqtop should implement *) type handler = { interp : raw * verbose * string -> string; rewind : int -> unit; goals : unit -> goals; status : unit -> string; inloadpath : string -> bool; mkcases : string -> string list list; } val abstract_eval_call : handler -> (exn -> location * string) -> 'a call -> 'a value (** * Debug printing *) val pr_call : 'a call -> string val pr_value : 'a value -> string val pr_full_value : 'a call -> 'a value -> string