aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/future.mli
diff options
context:
space:
mode:
authorGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-08-30 12:20:10 +0000
committerGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-08-30 12:20:10 +0000
commit6a5b186d2b53cf2c3e3a7ed5c238d26367a9df96 (patch)
tree06830f8dd95df021b1c84e97801e4b49b585f3eb /lib/future.mli
parentfe07a7f5f4b5b1d92e0e83cab9b886b642c6f8eb (diff)
recdef: restore old semantics (pre STM)
The Stm commit switched from an home made handling of failures to a with_state_protection. This was wrong, since in case of success the global state has to be left altered. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16746 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib/future.mli')
-rw-r--r--lib/future.mli2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/future.mli b/lib/future.mli
index 39be0c180..f07d325e0 100644
--- a/lib/future.mli
+++ b/lib/future.mli
@@ -59,4 +59,6 @@ val set_freeze : (unit -> Dyn.t) -> (Dyn.t -> unit) -> unit
(* Once set_freeze is called we can purify a computation *)
val purify : ('a -> 'b) -> 'a -> 'b
+(* And also let a function alter the state but backtrack if it raises exn *)
+val transactify : ('a -> 'b) -> 'a -> 'b