summaryrefslogtreecommitdiff
path: root/src/lem_interp/interp.lem
diff options
context:
space:
mode:
authorKathy Gray2014-11-19 00:53:26 +0000
committerKathy Gray2014-11-19 00:53:26 +0000
commit523aae808235dcfdea7358b01fc4eccab70c9f4d (patch)
tree4eb6883e82ce9e45879034957cfbef1e7f64d15d /src/lem_interp/interp.lem
parent01616d17d447f87dcc9f68c7d8d5a12d0ed0b169 (diff)
Correct off-by-one bug in type checking vector slices
Convert sparse vectors into full-fledged vectors more frequently and on export to memory system
Diffstat (limited to 'src/lem_interp/interp.lem')
-rw-r--r--src/lem_interp/interp.lem4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem
index 70a695af..9dc83afb 100644
--- a/src/lem_interp/interp.lem
+++ b/src/lem_interp/interp.lem
@@ -378,7 +378,9 @@ val slice_sparse_list : (integer -> integer -> bool) -> (integer -> integer) ->
list (integer * value) -> integer -> integer -> ((list (integer * value)) * bool)
let rec slice_sparse_list compare update_n vals n1 n2 =
let sl = slice_sparse_list compare update_n in
- if n1 = n2
+ if (n1 = n2) && (vals = [])
+ then ([],true)
+ else if (n1=n2)
then ([],false)
else match vals with
| [] -> ([],true)