diff options
| author | Maxime Dénès | 2017-07-20 14:50:23 +0200 |
|---|---|---|
| committer | Maxime Dénès | 2017-07-20 14:50:23 +0200 |
| commit | 362ed8371062cea08ae2d7e5842091bf184393cb (patch) | |
| tree | a281ae1722a5262a0b5e37aedf0704c7f0f4777a | |
| parent | b02179e15d35352b48440657ad47f6bf7ee9495c (diff) | |
| parent | 47b699b7d72630d2edc512594a2c813d7fb2f7a6 (diff) | |
Merge PR #903: Documenting the purity / marshallability invariant of persistent states.
| -rw-r--r-- | library/libobject.mli | 3 | ||||
| -rw-r--r-- | library/summary.mli | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/library/libobject.mli b/library/libobject.mli index 1a21ece2b4..6f935bffea 100644 --- a/library/libobject.mli +++ b/library/libobject.mli @@ -56,6 +56,9 @@ open Mod_subst rebuild the non volatile content of a section from the data collected by the discharge function + Any type defined as a persistent object must be pure (e.g. no references) and + marshallable by the OCaml Marshal module (e.g. no closures). + *) type 'a substitutivity = diff --git a/library/summary.mli b/library/summary.mli index a6ad49950e..d093d95f29 100644 --- a/library/summary.mli +++ b/library/summary.mli @@ -14,6 +14,8 @@ type marshallable = | `No (* Full data will be store in memory, e.g. for Undo *) | `Shallow ] (* Only part of the data will be marshalled to a slave process *) +(** Types of global Coq states. The ['a] type should be pure and marshallable by + the standard OCaml marshalling function. *) type 'a summary_declaration = { (** freeze_function [true] is for marshalling to disk. * e.g. lazy must be forced *) |
