1
(************************************************************************)
2
(* v * The Coq Proof Assistant / The Coq Development Team *)
3
(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
4
(* \VV/ **************************************************************)
5
(* // * This file is distributed under the terms of the *)
6
(* * GNU Lesser General Public License Version 2.1 *)
7
(************************************************************************)
9
(*i $Id: summary.mli 5920 2004-07-16 20:01:26Z herbelin $ i*)
11
(* This module registers the declaration of global tables, which will be kept
12
in synchronization during the various backtracks of the system. *)
14
type 'a summary_declaration = {
15
freeze_function : unit -> 'a;
16
unfreeze_function : 'a -> unit;
17
init_function : unit -> unit;
18
survive_module : bool; (* should be false is most cases *)
19
survive_section : bool }
21
val declare_summary : string -> 'a summary_declaration -> unit
25
val freeze_summaries : unit -> frozen
26
val unfreeze_summaries : frozen -> unit
27
val section_unfreeze_summaries : frozen -> unit
28
val module_unfreeze_summaries : frozen -> unit
29
val init_summaries : unit -> unit