diff options
author | filliatr <filliatr@85f007b7-540e-0410-9357-904b9bb8a0f7> | 1999-09-10 14:00:56 +0000 |
---|---|---|
committer | filliatr <filliatr@85f007b7-540e-0410-9357-904b9bb8a0f7> | 1999-09-10 14:00:56 +0000 |
commit | 2c6002d1fbf08ee68914227e3a4267cb38ff8b81 (patch) | |
tree | 83caeab0f53e7b4fc72ffb1637a0696f0231a2ed /library/states.ml | |
parent | 540bd2b46fd848fbf6d1f8c2804580d3afed98a6 (diff) |
modules System, Lib et States
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@71 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library/states.ml')
-rw-r--r-- | library/states.ml | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/library/states.ml b/library/states.ml new file mode 100644 index 000000000..2e198e36f --- /dev/null +++ b/library/states.ml @@ -0,0 +1,22 @@ + +(* $Id$ *) + +open System +open Lib +open Summary + +type state = Lib.frozen * Summary.frozen + +let get_state () = + (Lib.freeze(), freeze_summaries()) + +let set_state (fl,fs) = + Lib.unfreeze fl; + unfreeze_summaries fs + +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 s)) |