aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp
diff options
context:
space:
mode:
authorGravatar Emilio Jesus Gallego Arias <e+git@x80.org>2017-11-01 15:15:11 +0100
committerGravatar Emilio Jesus Gallego Arias <e+git@x80.org>2017-11-01 15:15:11 +0100
commit5f81fd1c9ac3a2dd90e80f7fd04f5d8ca7853d2c (patch)
treea0499fb9cdb7a0f74af8685f3eca707c8876e771 /interp
parente5659c8ffe735c530a707a61c692a3af21a79a9a (diff)
[general] Move Tactypes to `interp`
This makes sense here as the main client is `Stdargs`. This helps with the concerns @herbelin had in https://github.com/coq/coq/issues/6008#issuecomment-341107793
Diffstat (limited to 'interp')
-rw-r--r--interp/interp.mllib1
-rw-r--r--interp/tactypes.ml33
2 files changed, 34 insertions, 0 deletions
diff --git a/interp/interp.mllib b/interp/interp.mllib
index 6d290a325..e3500cfea 100644
--- a/interp/interp.mllib
+++ b/interp/interp.mllib
@@ -1,3 +1,4 @@
+Tactypes
Stdarg
Genintern
Constrexpr_ops
diff --git a/interp/tactypes.ml b/interp/tactypes.ml
new file mode 100644
index 000000000..2c42e1311
--- /dev/null
+++ b/interp/tactypes.ml
@@ -0,0 +1,33 @@
+(************************************************************************)
+(* v * The Coq Proof Assistant / The Coq Development Team *)
+(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2017 *)
+(* \VV/ **************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(************************************************************************)
+
+(** Tactic-related types that are not totally Ltac specific and still used in
+ lower API. It's not clear whether this is a temporary API or if this is
+ meant to stay. *)
+
+open Loc
+open Names
+open Constrexpr
+open Pattern
+open Misctypes
+
+(** In globalize tactics, we need to keep the initial [constr_expr] to recompute
+ in the environment by the effective calls to Intro, Inversion, etc
+ The [constr_expr] field is [None] in TacDef though *)
+type glob_constr_and_expr = Glob_term.glob_constr * constr_expr option
+type glob_constr_pattern_and_expr = Id.Set.t * glob_constr_and_expr * constr_pattern
+
+type 'a delayed_open = Environ.env -> Evd.evar_map -> Evd.evar_map * 'a
+
+type delayed_open_constr = EConstr.constr delayed_open
+type delayed_open_constr_with_bindings = EConstr.constr with_bindings delayed_open
+
+type intro_pattern = delayed_open_constr intro_pattern_expr located
+type intro_patterns = delayed_open_constr intro_pattern_expr located list
+type or_and_intro_pattern = delayed_open_constr or_and_intro_pattern_expr located
+type intro_pattern_naming = intro_pattern_naming_expr located