summaryrefslogtreecommitdiff
path: root/ide/coq.mli
diff options
context:
space:
mode:
authorGravatar Stephane Glondu <steph@glondu.net>2012-01-12 16:02:20 +0100
committerGravatar Stephane Glondu <steph@glondu.net>2012-01-12 16:02:20 +0100
commit97fefe1fcca363a1317e066e7f4b99b9c1e9987b (patch)
tree97ec6b7d831cc5fb66328b0c63a11db1cbb2f158 /ide/coq.mli
parent300293c119981054c95182a90c829058530a6b6f (diff)
Imported Upstream version 8.4~betaupstream/8.4_beta
Diffstat (limited to 'ide/coq.mli')
-rw-r--r--ide/coq.mli100
1 files changed, 43 insertions, 57 deletions
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 *)
-(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2011 *)
+(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2010 *)
(* \VV/ **************************************************************)
(* // * This file is distributed under the terms of the *)
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(*i $Id: coq.mli 14641 2011-11-06 11:59:10Z herbelin $ i*)
+(** Coq : Interaction with the Coq toplevel *)
-open Names
-open Term
-open Environ
-open Evd
+(** * Version and date *)
val short_version : unit -> 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