From 7f948efa4b8910037a053f7ab2a2f535b85e13c4 Mon Sep 17 00:00:00 2001 From: gareuselesinge Date: Mon, 30 Sep 2013 16:09:50 +0000 Subject: 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 --- lib/future.mli | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/future.mli') 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. -- cgit v1.2.3