From 97fefe1fcca363a1317e066e7f4b99b9c1e9987b Mon Sep 17 00:00:00 2001 From: Stephane Glondu Date: Thu, 12 Jan 2012 16:02:20 +0100 Subject: Imported Upstream version 8.4~beta --- ide/coq.mli | 100 ++++++++++++++++++++++++++---------------------------------- 1 file changed, 43 insertions(+), 57 deletions(-) (limited to 'ide/coq.mli') diff --git a/ide/coq.mli b/ide/coq.mli index 9dec52c6..9d64da6c 100644 --- a/ide/coq.mli +++ b/ide/coq.mli @@ -1,84 +1,70 @@ (************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) -(* string val version : unit -> string -type printing_state = { - mutable printing_implicit : bool; - mutable printing_coercions : bool; - mutable printing_raw_matching : bool; - mutable printing_no_notation : bool; - mutable printing_all : bool; - mutable printing_evar_instances : bool; - mutable printing_universes : bool; - mutable printing_full_all : bool -} +(** * Initial checks by launching test coqtop processes *) -val printing_state : printing_state +val filter_coq_opts : string list -> bool * string list -type reset_info +(** A mock coqtop launch, checking in particular that initial.coq is found *) +val check_connection : string list -> unit -val reset_initial : unit -> unit +(** * The structure describing a coqtop sub-process *) -val init : unit -> string list -val interp : bool -> string -> reset_info -val interp_last : Util.loc * Vernacexpr.vernac_expr -> unit -val interp_and_replace : string -> - reset_info * string +type coqtop -val push_phrase : ('a * reset_info) Stack.t -> reset_info -> 'a -> unit +(** * Count of all active coqtops *) -val rewind : reset_info list -> ('a * reset_info) Stack.t -> unit +val coqtop_zombies : unit -> int -val is_vernac_tactic_command : Vernacexpr.vernac_expr -> bool -val is_vernac_state_preserving_command : Vernacexpr.vernac_expr -> bool -val is_vernac_goal_starting_command : Vernacexpr.vernac_expr -> bool -val is_vernac_proof_ending_command : Vernacexpr.vernac_expr -> bool +(** * Starting / signaling / ending a real coqtop sub-process *) -(* type hyp = (identifier * constr option * constr) * string *) +val spawn_coqtop : string list -> coqtop +val respawn_coqtop : coqtop -> coqtop +val kill_coqtop : coqtop -> unit +val break_coqtop : coqtop -> unit -type hyp = env * evar_map * - ((identifier*string) * constr option * constr) * (string * string) -type meta = env * evar_map * string -type concl = env * evar_map * constr * string -type goal = hyp list * concl +(** In win32, we'll use a different kill function than Unix.kill *) -val get_current_goals : unit -> goal list +val killer : (int -> unit) ref +val interrupter : (int -> unit) ref -val get_current_pm_goal : unit -> goal +(** * Calls to Coqtop, cf [Ide_intf] for more details *) -val print_no_goal : unit -> string +val interp : + coqtop -> ?raw:bool -> ?verbose:bool -> string -> string Interface.value +val rewind : coqtop -> int -> int Interface.value +val status : coqtop -> Interface.status Interface.value +val goals : coqtop -> Interface.goals option Interface.value +val evars : coqtop -> Interface.evar list option Interface.value +val hints : coqtop -> (Interface.hint list * Interface.hint) option Interface.value +val inloadpath : coqtop -> string -> bool Interface.value +val mkcases : coqtop -> string -> string list list Interface.value -val process_exn : exn -> string*(Util.loc option) +(** A specialized version of [raw_interp] dedicated to + set/unset options. *) -val hyp_menu : hyp -> (string * string) list -val concl_menu : concl -> (string * string) list +module PrintOpt : +sig + type t + val implicit : t + val coercions : t + val raw_matching : t + val notations : t + val all_basic : t + val existential : t + val universes : t -val is_in_coq_lib : string -> bool -val is_in_coq_path : string -> bool -val is_in_loadpath : string -> bool - -val make_cases : string -> string list list - - -type tried_tactic = - | Interrupted - | Success of int (* nb of goals after *) - | Failed - -(* Message to display in lower status bar. *) - -val current_status : unit -> string + val set : coqtop -> (t * bool) list -> unit +end -- cgit v1.2.3