aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/future.mli
diff options
context:
space:
mode:
authorGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-09-30 16:09:50 +0000
committerGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-09-30 16:09:50 +0000
commit7f948efa4b8910037a053f7ab2a2f535b85e13c4 (patch)
treedde9e3a63136c1ddb92dade93ad2c08636cc5493 /lib/future.mli
parente10fc82c4a608e3433948c9511d9edf87903b5e5 (diff)
lib/future: computations that are Exn can be replaced
A computation that is an exception morally holds no value hence can be replaced by an type-equivalent computation. This mechanism is used to edit broken proofs. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16808 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib/future.mli')
-rw-r--r--lib/future.mli4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/future.mli b/lib/future.mli
index f07d325e0..a1535b13d 100644
--- a/lib/future.mli
+++ b/lib/future.mli
@@ -22,6 +22,9 @@ val from_val : 'a -> 'a computation
type 'a assignement = [ `Val of 'a | `Exn of exn | `Comp of 'a computation]
val create_delegate : unit -> 'a computation * ('a assignement -> unit)
+(* Given a computation that is_exn, replace it by another one *)
+val replace : 'a computation -> 'a computation -> unit
+
(* Variants to stock a copy of the current environment *)
val create_here : (unit -> 'a) -> 'a computation
val from_here : 'a -> 'a computation
@@ -29,6 +32,7 @@ val from_here : 'a -> 'a computation
(* Inspect a computation *)
val is_over : 'a computation -> bool
val is_val : 'a computation -> bool
+val is_exn : 'a computation -> bool
val peek_val : 'a computation -> 'a option
(* Chain computations.