From 2c6002d1fbf08ee68914227e3a4267cb38ff8b81 Mon Sep 17 00:00:00 2001 From: filliatr Date: Fri, 10 Sep 1999 14:00:56 +0000 Subject: modules System, Lib et States git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@71 85f007b7-540e-0410-9357-904b9bb8a0f7 --- library/states.ml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 library/states.ml (limited to 'library/states.ml') 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)) -- cgit v1.2.3