aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp
diff options
context:
space:
mode:
authorGravatar Maxime Dénès <mail@maximedenes.fr>2017-11-13 11:21:41 +0100
committerGravatar Maxime Dénès <mail@maximedenes.fr>2017-11-13 11:21:41 +0100
commita7df689e73dd396dafdbb4891d534b7fa5cb0fc8 (patch)
tree8682480b7dc5cc4557344490968166061e656b93 /interp
parent1f9dcdee40d95ee56ef91876579f2c059939e04a (diff)
parentfb08d2d78c80f384e8ac2b7a9563b6c6720608f4 (diff)
Merge PR #6052: [general] Move Tactypes to `interp` + API reordering.
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