diff options
| author | Pierre-Marie Pédrot | 2014-02-07 16:46:26 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2014-02-11 13:14:58 +0100 |
| commit | 971f5d2ddff84a479022bb38af799f7e4166dea3 (patch) | |
| tree | deae1bd7cb1336e7775c08334a1df38a665a81a6 /kernel/pre_env.ml | |
| parent | d8202af0887825d236c3e11704f266d8282c8aa7 (diff) | |
Made Pre_env.lazy_val opaque.
Diffstat (limited to 'kernel/pre_env.ml')
| -rw-r--r-- | kernel/pre_env.ml | 7 |
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 = { |
