aboutsummaryrefslogtreecommitdiff
path: root/kernel/pre_env.ml
diff options
context:
space:
mode:
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 = {