aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/data/collection/sequence.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/data/collection/sequence.lux13
1 files changed, 5 insertions, 8 deletions
diff --git a/stdlib/source/library/lux/data/collection/sequence.lux b/stdlib/source/library/lux/data/collection/sequence.lux
index 07ebeba76..746654c57 100644
--- a/stdlib/source/library/lux/data/collection/sequence.lux
+++ b/stdlib/source/library/lux/data/collection/sequence.lux
@@ -224,10 +224,8 @@
... If so, a brand-new root must be established, that is
... 1-level taller.
(|> sequence
- (with@ #root (|> (for [@.old
- (: (Hierarchy (:parameter 0))
- (empty_hierarchy []))]
- (empty_hierarchy []))
+ (with@ #root (|> (`` (: (Hierarchy (~~ (:of val)))
+ (empty_hierarchy [])))
(array.write! 0 {#Hierarchy (value@ #root sequence)})
(array.write! 1 (..path (value@ #level sequence) (value@ #tail sequence)))))
(revised@ #level level_up))
@@ -293,10 +291,9 @@
{try.#Success (if (n.< (tail_off sequence_size) idx)
(revised@ #root (hierarchy#has (value@ #level sequence) idx val)
sequence)
- (revised@ #tail (for [@.old
- (: (-> (Base (:parameter 0)) (Base (:parameter 0)))
- (|>> array.clone (array.write! (branch_idx idx) val)))]
- (|>> array.clone (array.write! (branch_idx idx) val)))
+ (revised@ #tail (`` (: (-> (Base (~~ (:of val)))
+ (Base (~~ (:of val))))
+ (|>> array.clone (array.write! (branch_idx idx) val))))
sequence))}
(exception.except ..index_out_of_bounds [sequence idx]))))