aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2019-07-19 16:50:41 +0200
committerPierre-Marie Pédrot2019-07-19 16:50:41 +0200
commitc80dfb6bd8ff8625ced2cae8b6789707f904a118 (patch)
tree106480405b769cc1e2513549113394cdfef3e200 /pretyping
parentfc2cb2c7d483302b908abf821d63e82f28a57570 (diff)
parentbc04d3196a62a52caca96014448b7b966baedd0c (diff)
Merge PR #10521: Move unfold_side_flags CClosure -> Tacred internals
Reviewed-by: ppedrot
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