summaryrefslogtreecommitdiff
path: root/src/lem_interp
diff options
context:
space:
mode:
authorGabriel Kerneis2013-11-05 16:46:18 +0000
committerGabriel Kerneis2013-11-05 16:46:18 +0000
commitd7e3a2e798fbc77f74a59593fff874f0198b5864 (patch)
tree5a6888193c36e3e0c14531fd141df7cfe9e21d24 /src/lem_interp
parent097b5eff41ff77f5ef54d937a9e1ac8bc46ccbc6 (diff)
De-infix operator before looking it up in the interpreter
Diffstat (limited to 'src/lem_interp')
-rw-r--r--src/lem_interp/interp.lem4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem
index aeb846d9..08943dc8 100644
--- a/src/lem_interp/interp.lem
+++ b/src/lem_interp/interp.lem
@@ -674,6 +674,10 @@ and interp_main t_level l_env l_mem exp =
| _ -> (Error "Application with expression other than identifier",l_mem,l_env)
end
| E_app_infix l op r ->
+ let op = match op with
+ | Id x -> DeIid x
+ | DeIid _ -> op
+ end in
resolve_outcome (interp_main t_level l_env l_mem l)
(fun lv lm le ->
resolve_outcome (interp_main t_level l_env lm r)