aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-04-04 14:55:47 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-04-04 14:55:47 +0000
commit5a4cc30c737f113a7c57d14569137b3e06f5639f (patch)
tree2a0114f494382fc30f50ad073eaf6ec5def2daed /interp
parentc464aab4c1aedad2ae919eb4776ced4d4d23d62a (diff)
Quelques améliorations des intro patterns:
- ajout de -> et <- pour substitution immédiate d'une égalité (comportement à la subst si variable, à la rewrite in * sinon) - ajout possibilité d'hypothèses avec paramètres - correction d'un comportement bizarre de l'utilisation des noms dans cas "[[|] H]" (cf CHANGES) Ce serait bien d'avoir quelque chose comme "intros (H as <-) (H' as [ | ])" pour décider de garder les noms, mais la syntaxe est assez moche. Peut-être un "intros H: <- H': [ | ]" ? git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10753 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp')
-rw-r--r--interp/genarg.ml3
-rw-r--r--interp/genarg.mli1
2 files changed, 4 insertions, 0 deletions
diff --git a/interp/genarg.ml b/interp/genarg.ml
index fc93f455a..ac45bfe8d 100644
--- a/interp/genarg.ml
+++ b/interp/genarg.ml
@@ -79,6 +79,7 @@ type intro_pattern_expr =
| IntroWildcard
| IntroIdentifier of identifier
| IntroAnonymous
+ | IntroRewrite of bool
| IntroFresh of identifier
and case_intro_pattern_expr = intro_pattern_expr list list
@@ -87,6 +88,8 @@ let rec pr_intro_pattern = function
| IntroWildcard -> str "_"
| IntroIdentifier id -> pr_id id
| IntroAnonymous -> str "?"
+ | IntroRewrite true -> str "->"
+ | IntroRewrite false -> str "<-"
| IntroFresh id -> str "?" ++ pr_id id
and pr_case_intro_pattern = function
diff --git a/interp/genarg.mli b/interp/genarg.mli
index 0df4e66a0..977308218 100644
--- a/interp/genarg.mli
+++ b/interp/genarg.mli
@@ -36,6 +36,7 @@ type intro_pattern_expr =
| IntroWildcard
| IntroIdentifier of identifier
| IntroAnonymous
+ | IntroRewrite of bool
| IntroFresh of identifier
and case_intro_pattern_expr = intro_pattern_expr list list