diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2018-05-16 00:36:08 +0200 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2018-05-28 16:08:53 +0200 |
commit | 442bd1fe4007d2f3b46cb565abbcd64011db1af4 (patch) | |
tree | 083f5890a7a5763e884e24b1de45431573e87cae /kernel/reduction.mli | |
parent | 4552729b88058946055dddde1533057e25bfc5a9 (diff) |
Fix #7333: vm_compute segfaults / Anomaly with cofix
We eta-expand cofixpoints when needed, so that their call-by-need
evaluation is correctly implemented by VM and native_compute.
Diffstat (limited to 'kernel/reduction.mli')
-rw-r--r-- | kernel/reduction.mli | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/reduction.mli b/kernel/reduction.mli index 2e10f98c5..e53ab6aef 100644 --- a/kernel/reduction.mli +++ b/kernel/reduction.mli @@ -118,9 +118,12 @@ val betazeta_appvect : int -> constr -> constr array -> constr val dest_prod : env -> types -> Context.Rel.t * types val dest_prod_assum : env -> types -> Context.Rel.t * types +val dest_lam : env -> types -> Context.Rel.t * constr val dest_lam_assum : env -> types -> Context.Rel.t * types exception NotArity val dest_arity : env -> types -> Term.arity (* raises NotArity if not an arity *) val is_arity : env -> types -> bool + +val eta_expand : env -> constr -> types -> constr |