From 5ea203149ab11b4e837b5a6c95510f67a9e1d784 Mon Sep 17 00:00:00 2001 From: herbelin Date: Thu, 31 Aug 2006 18:04:26 +0000 Subject: Un peu de delta-réduction... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9100 85f007b7-540e-0410-9357-904b9bb8a0f7 --- library/states.ml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'library/states.ml') 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) -- cgit v1.2.3