summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGabriel Kerneis2014-01-15 13:54:41 +0100
committerGabriel Kerneis2014-01-15 13:54:41 +0100
commit828f19828e41ced146f06e9a7eb4183cd9ef3ab4 (patch)
tree089bf268de73a6e04eb91177790dbbc9243d0ad7 /src
parent704d202287aa645138727a1aa06367308af284ce (diff)
Accept single bits as boolean values for if in interpreter
Diffstat (limited to 'src')
-rw-r--r--src/lem_interp/interp.lem2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem
index 3ea2a137..aa96c877 100644
--- a/src/lem_interp/interp.lem
+++ b/src/lem_interp/interp.lem
@@ -528,6 +528,8 @@ and interp_main t_level l_env l_mem exp =
match value with
| V_lit(L_true) -> interp_main t_level l_env lm thn
| V_lit(L_false) -> interp_main t_level l_env lm els
+ | V_lit(L_one) -> interp_main t_level l_env lm thn
+ | V_lit(L_zero) -> interp_main t_level l_env lm els
| _ -> (Error "Type error, not provided boolean for if",lm,l_env) end)
(fun a -> update_stack a (add_to_top_frame (fun c -> (E_if c thn els))))
| E_for id from to_ by exp ->