aboutsummaryrefslogtreecommitdiff
path: root/src/Reflection/Reify.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-01-27 17:47:42 -0500
committerGravatar Jason Gross <jgross@mit.edu>2017-01-27 17:47:42 -0500
commitf585919e320b892bdf6f2a17eb2b8479af6c6dfe (patch)
treeb19d72f289b4377439302f298c124b586cfe9029 /src/Reflection/Reify.v
parent39c70ae2abd720ec76e01c85d2aa0e56aeae3414 (diff)
Various minor reflection fixups
Diffstat (limited to 'src/Reflection/Reify.v')
-rw-r--r--src/Reflection/Reify.v5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Reflection/Reify.v b/src/Reflection/Reify.v
index 7da426d50..9b3c70d49 100644
--- a/src/Reflection/Reify.v
+++ b/src/Reflection/Reify.v
@@ -250,6 +250,7 @@ Class reify_abs {varT} (var : varT) {eT} (e : eT) {T : Type} := Build_reify_abs
Ltac reify_abs base_type_code interp_base_type op var e :=
let reify_rec e := reify_abs base_type_code interp_base_type op var e in
let reifyf_term e := reifyf base_type_code interp_base_type op var e in
+ let mkReturn ef := constr:(Return (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) ef) in
let mkAbs src ef := constr:(Abs (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) (src:=src) ef) in
let reify_tag := constr:(@exprf base_type_code interp_base_type op var) in
let dummy := debug_enter_reify_abs e in
@@ -266,8 +267,8 @@ Ltac reify_abs base_type_code interp_base_type op var e :=
(_ : reify_abs reify_tag C)) (* [C] here is an open term that references "x" by name *)
with fun _ v _ => @?C v => mkAbs t C end
| ?x =>
- let ret := reifyf_term x in
- constr:(Return ret)
+ let xv := reifyf_term x in
+ mkReturn xv
end.
Hint Extern 0 (reify_abs (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e)