diff options
author | Enrico Tassi <Enrico.Tassi@inria.fr> | 2016-09-05 16:23:09 +0200 |
---|---|---|
committer | Enrico Tassi <Enrico.Tassi@inria.fr> | 2016-09-05 16:37:00 +0200 |
commit | 6f393734e54146c4d26325aea006368380d97280 (patch) | |
tree | db447c39ec86206fe8da06692b279f22a6c1b1cc /library/summary.mli | |
parent | 3cf399dd17759cc0258295045742f1b50e376d5a (diff) |
Summary: simpler API for process-local storage
Diffstat (limited to 'library/summary.mli')
-rw-r--r-- | library/summary.mli | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/library/summary.mli b/library/summary.mli index 27889cab2..1b57613cb 100644 --- a/library/summary.mli +++ b/library/summary.mli @@ -42,6 +42,17 @@ val declare_summary : string -> 'a summary_declaration -> unit val ref : ?freeze:(marshallable -> 'a -> 'a) -> name:string -> 'a -> 'a ref +(* As [ref] but the value is local to a process, i.e. not sent to, say, proof + * workers. It is useful to implement a local cache for example. *) +module Local : sig + + type 'a local_ref + val ref : ?freeze:('a -> 'a) -> name:string -> 'a -> 'a local_ref + val (:=) : 'a local_ref -> 'a -> unit + val (!) : 'a local_ref -> 'a + +end + (** Special name for the summary of ML modules. This summary entry is special because its unfreeze may load ML code and hence add summary entries. Thus is has to be recognizable, and handled appropriately *) |