aboutsummaryrefslogtreecommitdiff
path: root/tactics
diff options
context:
space:
mode:
authoraspiwack2013-11-02 15:41:49 +0000
committeraspiwack2013-11-02 15:41:49 +0000
commit4ac1b34ff8afc250e34d0b229c0a3608ed83e640 (patch)
treec7c7ed74f7f4f1d68e067dade31042b7620e986a /tactics
parent0b936be00d2c7c05d528b8d7304fc1e14d5546a5 (diff)
Update comments.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@17033 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/tacinterp.ml3
-rw-r--r--tactics/tacticals.mli12
2 files changed, 14 insertions, 1 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index 4696c23560..38f3398d50 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -2295,7 +2295,8 @@ and interp_atomic ist tac =
let ans = List.map mk_ident (out_gen wit x) in
(Proofview.Goal.return (in_gen (topwit (wit_list wit_genarg)) ans))
| ListArgType t ->
- (* arnaud: unsafe, faire avec des combinateurs. Dans la version originale c'était juste [Genarg.app_list f x] *)
+ (* spiwack: unsafe, we should introduce relevant combinators.
+ Before new tactical it simply read: [Genarg.app_list f x] *)
fold_list begin fun a l ->
f a >>== fun a' ->
l >>== fun l ->
diff --git a/tactics/tacticals.mli b/tactics/tacticals.mli
index efeb4a7478..312e5cb494 100644
--- a/tactics/tacticals.mli
+++ b/tactics/tacticals.mli
@@ -174,6 +174,18 @@ val elim_on_ba : (branch_assumptions -> tactic) -> branch_args -> tactic
val case_on_ba : (branch_assumptions -> tactic) -> branch_args -> tactic
(** Tacticals defined directly in term of Proofview *)
+
+(** The tacticals in the module [New] are the tactical of Ltac. Their
+ semantics is an extension of the tacticals in this file for the
+ multi-goal backtracking tactics. They do not have the same
+ semantics as the similarly named tacticals in [Proofview]. The
+ tactical of [Proofview] are used in the definition of the
+ tacticals of [Tacticals.New], but they are more atomic. In
+ particular [Tacticals.New.tclORELSE] sees like of progress as a
+ failure, whereas [Proofview.tclORELSE] doesn't. Additionally every
+ tactic which can catch failure ([tclOR], [tclORELSE], [tclTRY],
+ [tclREPEAt], etc…) are run into each goal independently (failures
+ and backtracks are localised to a given goal). *)
module New : sig
open Proofview