aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaëtan Gilbert2019-07-16 14:38:44 +0200
committerGaëtan Gilbert2019-07-16 14:38:44 +0200
commitbc04d3196a62a52caca96014448b7b966baedd0c (patch)
tree9f986174df76cd2c1759fa6d671d5f6c8212f877
parentba1bb7581a5ad0969d35911fffdf61f150e0536f (diff)
Move unfold_side_flags CClosure -> Tacred internals
-rw-r--r--kernel/cClosure.ml9
-rw-r--r--kernel/cClosure.mli4
-rw-r--r--pretyping/tacred.ml9
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