aboutsummaryrefslogtreecommitdiffhomepage
path: root/library/states.ml
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-08-31 18:04:26 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-08-31 18:04:26 +0000
commit5ea203149ab11b4e837b5a6c95510f67a9e1d784 (patch)
treed47c32334227b86c1267fd4984628aac3c1f0158 /library/states.ml
parentbb7d9d0faa9232e6e7fd77680d96f925296e3921 (diff)
Un peu de delta-réduction...
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9100 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library/states.ml')
-rw-r--r--library/states.ml15
1 files changed, 6 insertions, 9 deletions
diff --git a/library/states.ml b/library/states.ml
index 2a34c8753..dcb4111ed 100644
--- a/library/states.ml
+++ b/library/states.ml
@@ -12,10 +12,10 @@ open System
type state = Lib.frozen * Summary.frozen
-let get_state () =
+let freeze () =
(Lib.freeze(), Summary.freeze_summaries())
-let set_state (fl,fs) =
+let unfreeze (fl,fs) =
Lib.unfreeze fl;
Summary.unfreeze_summaries fs
@@ -23,17 +23,14 @@ let state_magic_number = 19764
let (extern_state,intern_state) =
let (raw_extern, raw_intern) = extern_intern state_magic_number ".coq" in
- (fun s -> raw_extern s (get_state())),
- (fun s -> set_state (raw_intern (Library.get_load_paths ()) s))
+ (fun s -> raw_extern s (freeze())),
+ (fun s -> unfreeze (raw_intern (Library.get_load_paths ()) s))
(* Rollback. *)
-let freeze = get_state
-let unfreeze = set_state
-
let with_heavy_rollback f x =
- let st = get_state () in
+ let st = freeze () in
try
f x
with reraise ->
- (set_state st; raise reraise)
+ (unfreeze st; raise reraise)