diff options
| author | Gaëtan Gilbert | 2019-07-16 14:38:44 +0200 |
|---|---|---|
| committer | Gaëtan Gilbert | 2019-07-16 14:38:44 +0200 |
| commit | bc04d3196a62a52caca96014448b7b966baedd0c (patch) | |
| tree | 9f986174df76cd2c1759fa6d671d5f6c8212f877 | |
| parent | ba1bb7581a5ad0969d35911fffdf61f150e0536f (diff) | |
Move unfold_side_flags CClosure -> Tacred internals
| -rw-r--r-- | kernel/cClosure.ml | 9 | ||||
| -rw-r--r-- | kernel/cClosure.mli | 4 | ||||
| -rw-r--r-- | pretyping/tacred.ml | 9 |
3 files changed, 9 insertions, 13 deletions
diff --git a/kernel/cClosure.ml b/kernel/cClosure.ml index 6be8a59aeb..1cc3dc3975 100644 --- a/kernel/cClosure.ml +++ b/kernel/cClosure.ml @@ -211,15 +211,6 @@ let delta = mkflags [fDELTA] let zeta = mkflags [fZETA] let nored = no_red -(* Removing fZETA for finer behaviour would break many developments *) -let unfold_side_flags = [fBETA;fMATCH;fFIX;fCOFIX;fZETA] -let unfold_side_red = mkflags [fBETA;fMATCH;fFIX;fCOFIX;fZETA] -let unfold_red kn = - let flag = match kn with - | EvalVarRef id -> fVAR id - | EvalConstRef kn -> fCONST kn in - mkflags (flag::unfold_side_flags) - (* Flags of reduction and cache of constants: 'a is a type that may be * mapped to constr. 'a infos implements a cache for constants and * abstractions, storing a representation (of type 'a) of the body of diff --git a/kernel/cClosure.mli b/kernel/cClosure.mli index 027d5245c9..cd1de4c834 100644 --- a/kernel/cClosure.mli +++ b/kernel/cClosure.mli @@ -84,10 +84,6 @@ val delta : reds val zeta : reds val nored : reds - -val unfold_side_red : reds -val unfold_red : evaluable_global_reference -> reds - (***********************************************************************) type table_key = Constant.t Univ.puniverses tableKey diff --git a/pretyping/tacred.ml b/pretyping/tacred.ml index 6fdceb929a..866c0da555 100644 --- a/pretyping/tacred.ml +++ b/pretyping/tacred.ml @@ -1103,6 +1103,15 @@ let string_of_evaluable_ref env = function string_of_qualid (Nametab.shortest_qualid_of_global (vars_of_env env) (GlobRef.ConstRef kn)) +(* Removing fZETA for finer behaviour would break many developments *) +let unfold_side_flags = RedFlags.[fBETA;fMATCH;fFIX;fCOFIX;fZETA] +let unfold_side_red = RedFlags.(mkflags [fBETA;fMATCH;fFIX;fCOFIX;fZETA]) +let unfold_red kn = + let flag = match kn with + | EvalVarRef id -> RedFlags.fVAR id + | EvalConstRef kn -> RedFlags.fCONST kn in + RedFlags.mkflags (flag::unfold_side_flags) + let unfold env sigma name c = if is_evaluable env name then clos_norm_flags (unfold_red name) env sigma c |
