aboutsummaryrefslogtreecommitdiffhomepage
path: root/intf
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2016-06-10 01:15:38 +0200
committerGravatar Matthieu Sozeau <mattam@mattam.org>2016-06-16 18:21:08 +0200
commit98703c8247fd86deab2d82a70c22d43797e4a548 (patch)
treef4357abeaab6a7db53419c2ed9b3c923d7d67914 /intf
parent2194292dbe88674fd9a606bb22f28d332f670f77 (diff)
Extend Hint Mode to handle the no-head-evar case
Suggested by R. Krebbers and C. Cohen, this makes modes more applicable, by allowing to trigger resolution on partially instantiated indices. This is a rough but fast approximation of the pattern on which one would like instances to apply.
Diffstat (limited to 'intf')
-rw-r--r--intf/vernacexpr.mli7
1 files changed, 6 insertions, 1 deletions
diff --git a/intf/vernacexpr.mli b/intf/vernacexpr.mli
index faa5ba251..45d71e32b 100644
--- a/intf/vernacexpr.mli
+++ b/intf/vernacexpr.mli
@@ -118,12 +118,17 @@ type reference_or_constr =
| HintsReference of reference
| HintsConstr of constr_expr
+type hint_mode =
+ | ModeInput (* No evars *)
+ | ModeNoHeadEvar (* No evar at the head *)
+ | ModeOutput (* Anything *)
+
type hints_expr =
| HintsResolve of (int option * bool * reference_or_constr) list
| HintsImmediate of reference_or_constr list
| HintsUnfold of reference list
| HintsTransparency of reference list * bool
- | HintsMode of reference * bool list
+ | HintsMode of reference * hint_mode list
| HintsConstructors of reference list
| HintsExtern of int * constr_expr option * raw_tactic_expr