aboutsummaryrefslogtreecommitdiff
path: root/proofs
diff options
context:
space:
mode:
Diffstat (limited to 'proofs')
-rw-r--r--proofs/proofview.ml18
-rw-r--r--proofs/proofview.mli4
2 files changed, 9 insertions, 13 deletions
diff --git a/proofs/proofview.ml b/proofs/proofview.ml
index a3791e7a42..eed792fd7f 100644
--- a/proofs/proofview.ml
+++ b/proofs/proofview.ml
@@ -421,22 +421,12 @@ module Notations = struct
let (>-) = Goal.bind
let (>=) = tclBIND
let (>>=) t k =
- (* spiwack: the application of List.map may raise errors, as this
- combinator is mostly used in porting historical tactic code,
- where the error flow is somewhat hard to follow, hence the
- try/with *)
- t >= fun l ->
- try tclDISPATCH (List.map k l)
- with e when Errors.noncritical e -> tclZERO e
+ t >= fun l ->
+ tclDISPATCH (List.map k l)
let (>>==) t k =
- (* spiwack: the application of List.map may raise errors, as this
- combinator is mostly used in porting historical tactic code,
- where the error flow is somewhat hard to follow, hence the
- try/with *)
begin
t >= fun l ->
- try tclDISPATCHL (List.map k l)
- with e when Errors.noncritical e -> tclZERO e
+ tclDISPATCHL (List.map k l)
end >= fun l' ->
tclUNIT (List.flatten l')
let (<*>) = tclTHEN
@@ -531,6 +521,8 @@ module V82 = struct
let put_status b _env =
Proof.lift (Message.put b)
+
+ let catchable_exception = Errors.noncritical
end
diff --git a/proofs/proofview.mli b/proofs/proofview.mli
index 4536180e2e..a2a5746933 100644
--- a/proofs/proofview.mli
+++ b/proofs/proofview.mli
@@ -268,6 +268,10 @@ module V82 : sig
(* marks as unsafe if the argument is [false] *)
val put_status : bool -> unit tactic
+
+ (* exception for which it is deemed to be safe to transmute into
+ tactic failure. *)
+ val catchable_exception : exn -> bool
end