aboutsummaryrefslogtreecommitdiff
path: root/src/Reflection/Reify.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jagro@google.com>2016-09-07 11:50:23 -0700
committerGravatar Jason Gross <jagro@google.com>2016-09-07 11:50:23 -0700
commite4e860f8b10a1b8ce1ab207f12c7ef50e36332c4 (patch)
treea23a96bcb0b69e04d976ea60b287c5dd434efc47 /src/Reflection/Reify.v
parente233e15c0eafd34d9cb6412361d7aaa373d774e0 (diff)
Key on the head of the operation in reification
Hopefully fixes #62 Also, don't export InputSyntax in Reify
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 58ebd5da5..d5d2b219e 100644
--- a/src/Reflection/Reify.v
+++ b/src/Reflection/Reify.v
@@ -3,7 +3,7 @@
judgmental equality of the denotation of the reified term. *)
Require Import Coq.Strings.String.
Require Import Crypto.Reflection.Syntax.
-Require Export Crypto.Reflection.InputSyntax.
+Require Import Crypto.Reflection.InputSyntax.
Require Import Crypto.Util.Tuple.
Require Import Crypto.Util.Tactics.
Require Import Crypto.Util.Notations.
@@ -134,7 +134,8 @@ Ltac reifyf base_type_code interp_base_type op var e :=
let t := lazymatch type of x with ?t => reify_type t end in
let retv := match constr:(Set) with
| _ => let retv := reifyf_var x mkVar in constr:(finished_value retv)
- | _ => let r := constr:(_ : reify_op op x _ _) in
+ | _ => let op_head := head x in
+ let r := constr:(_ : reify_op op op_head _ _) in
let t := type of r in
constr:(op_info t)
| _ => let c := mkConst t x in