aboutsummaryrefslogtreecommitdiff
path: root/intf/notation_term.mli
diff options
context:
space:
mode:
authorHugo Herbelin2016-02-28 18:28:14 +0100
committerHugo Herbelin2016-02-28 18:55:57 +0100
commit4d25b224b91959b85fcd68c825a307ec684f0bac (patch)
tree0754a149655d3c1f44be314341600f6b4515d4f5 /intf/notation_term.mli
parent4fcd7fd68986246adb666ed46d066fcf0355bf09 (diff)
Printing notations: Cleaning in anticipation of fixing #4592.
- Making a clear distinction between expressions of the notation which are associated to binding variables only (as in `Notation "'lam' x , P" := (fun x => P)" or `Notation "'exists2' x : t , p & q" := (ex2 (fun x:t => p) (fun x:t => q))') and those which are associated to at list one subterm (e.g. `Notation "x .+1" := (S x)' but also "Notation "{# x | P }" := (ex2 _ (fun y => x = F y) (fun x => P))' as in #4592). The former have type NtnTypeOnlyBinder. - Thus avoiding in particular encoding too early Anonymous as GHole and "Name id" as "GVar id". There is a non-trivial alpha-conversion work to do to get #4592 working. See comments in Notation_ops.add_env.
Diffstat (limited to 'intf/notation_term.mli')
-rw-r--r--intf/notation_term.mli2
1 files changed, 1 insertions, 1 deletions
diff --git a/intf/notation_term.mli b/intf/notation_term.mli
index 3a643b99b2..39a36310d1 100644
--- a/intf/notation_term.mli
+++ b/intf/notation_term.mli
@@ -61,7 +61,7 @@ type subscopes = tmp_scope_name option * scope_name list
(** Type of the meta-variables of an notation_constr: in a recursive pattern x..y,
x carries the sequence of objects bound to the list x..y *)
type notation_var_instance_type =
- | NtnTypeConstr | NtnTypeConstrList | NtnTypeBinderList
+ | NtnTypeConstr | NtnTypeOnlyBinder | NtnTypeConstrList | NtnTypeBinderList
(** Type of variables when interpreting a constr_expr as an notation_constr:
in a recursive pattern x..y, both x and y carry the individual type