aboutsummaryrefslogtreecommitdiff
path: root/pretyping
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 /pretyping
parentba1bb7581a5ad0969d35911fffdf61f150e0536f (diff)
Move unfold_side_flags CClosure -> Tacred internals
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/tacred.ml9
1 files changed, 9 insertions, 0 deletions
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