summaryrefslogtreecommitdiff
path: root/src/lem_interp/interp.lem
diff options
context:
space:
mode:
authorKathy Gray2015-01-16 14:30:26 +0000
committerKathy Gray2015-01-16 14:30:26 +0000
commit0eda3ccb8f3003bbc0366ee1bead89c9408e185f (patch)
tree9a97e7f9cb003260d3ac3cea99d245ec6e2a08f7 /src/lem_interp/interp.lem
parent0e3bc29828896585d0cf43817218fc3de1d1bd25 (diff)
more for loop corrections, as well as pattern match error
Diffstat (limited to 'src/lem_interp/interp.lem')
-rw-r--r--src/lem_interp/interp.lem6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem
index 42073bf1..6b92b66f 100644
--- a/src/lem_interp/interp.lem
+++ b/src/lem_interp/interp.lem
@@ -412,9 +412,9 @@ let retaint orig updated =
end
val detaint: value -> value
-let detaint value =
+let rec detaint value =
match value with
- | V_track value _ -> value
+ | V_track value _ -> detaint value
| v -> v
end
@@ -1238,7 +1238,7 @@ and interp_main mode t_level l_env l_mem (E_aux exp (l,annot)) =
let (by_e,env) = to_exp mode le by_val_whole in
match by_val with
| V_lit (L_aux (L_num by_num) bl) ->
- if ((is_inc && (from_num >= to_num)) || (not(is_inc) && (from_num <= to_num)))
+ if ((is_inc && (from_num > to_num)) || (not(is_inc) && (from_num < to_num)))
then (Value(V_lit (L_aux L_unit l)),lm,le)
else
let (ftyp,ttyp,btyp) = (val_typ from_val,val_typ to_val,val_typ by_val) in