aboutsummaryrefslogtreecommitdiff
path: root/kernel/pre_env.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2014-02-07 16:46:26 +0100
committerPierre-Marie Pédrot2014-02-11 13:14:58 +0100
commit971f5d2ddff84a479022bb38af799f7e4166dea3 (patch)
treedeae1bd7cb1336e7775c08334a1df38a665a81a6 /kernel/pre_env.ml
parentd8202af0887825d236c3e11704f266d8282c8aa7 (diff)
Made Pre_env.lazy_val opaque.
Diffstat (limited to 'kernel/pre_env.ml')
-rw-r--r--kernel/pre_env.ml7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/pre_env.ml b/kernel/pre_env.ml
index 5040df5aae..b655887d70 100644
--- a/kernel/pre_env.ml
+++ b/kernel/pre_env.ml
@@ -55,6 +55,13 @@ type val_kind =
type lazy_val = val_kind ref
+let force_lazy_val vk = match !vk with
+| VKnone -> None
+| VKvalue v -> try Some (Ephemeron.get v) with Ephemeron.InvalidKey -> None
+
+let dummy_lazy_val () = ref VKnone
+let build_lazy_val vk key = vk := VKvalue (Ephemeron.create key)
+
type named_vals = (Id.t * lazy_val) list
type env = {