From 971f5d2ddff84a479022bb38af799f7e4166dea3 Mon Sep 17 00:00:00 2001 From: Pierre-Marie Pédrot Date: Fri, 7 Feb 2014 16:46:26 +0100 Subject: Made Pre_env.lazy_val opaque. --- kernel/pre_env.ml | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'kernel/pre_env.ml') 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 = { -- cgit v1.2.3