From a4436a6a355ecb3fffb52d1ca3f2d983a5bcfefd Mon Sep 17 00:00:00 2001 From: filliatr Date: Thu, 9 Dec 1999 15:10:08 +0000 Subject: - constantes avec recettes - discharge en deux temps, avec état remis comme au début de la section (mais c'est toujours buggé) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@224 85f007b7-540e-0410-9357-904b9bb8a0f7 --- kernel/constant.mli | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'kernel/constant.mli') diff --git a/kernel/constant.mli b/kernel/constant.mli index 800f95811c..c24280c405 100644 --- a/kernel/constant.mli +++ b/kernel/constant.mli @@ -10,9 +10,15 @@ open Sign (* Constants (internal representation). *) +type lazy_constant_value = + | Cooked of constr + | Recipe of (unit -> constr) + +type constant_value = lazy_constant_value ref + type constant_body = { const_kind : path_kind; - const_body : constr option; + const_body : constant_value option; const_type : typed_type; const_hyps : typed_type signature; const_constraints : constraints; @@ -22,9 +28,11 @@ val is_defined : constant_body -> bool val is_opaque : constant_body -> bool +val cook_constant : constant_value -> constr + (*s Constant declaration. *) type constant_entry= { - const_entry_body : constr; + const_entry_body : lazy_constant_value; const_entry_type : constr option } -- cgit v1.2.3