diff options
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -164,9 +164,11 @@ strand(Datum left, Datum right) result.shy = 0; Array *leftarr = left.array->stranded ? fnSame(left.array) : fnEnclose(left.array); Array *rightarr = right.array->stranded ? fnSame(right.array) : fnEnclose(right.array); + Array *tmp = fnCatenateFirst(leftarr, rightarr); result.tag = ArrayTag; - result.array = fnCatenateFirst(leftarr, rightarr); + result.array = simplifyarray(tmp); result.array->stranded = 1; + freearray(tmp); freearray(leftarr); freearray(rightarr); return result; |