diff options
Diffstat (limited to 'stdlib/source/lux/data/coll/array.lux')
-rw-r--r-- | stdlib/source/lux/data/coll/array.lux | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/stdlib/source/lux/data/coll/array.lux b/stdlib/source/lux/data/coll/array.lux index c697e5681..1eeb1342c 100644 --- a/stdlib/source/lux/data/coll/array.lux +++ b/stdlib/source/lux/data/coll/array.lux @@ -34,17 +34,17 @@ (def: #export (copy length src-start src-array dest-start dest-array) (All [a] (-> Nat Nat (Array a) Nat (Array a) (Array a))) - (if (n.= +0 length) + (if (n/= +0 length) dest-array (list/fold (function [offset target] - (case (read (n.+ offset src-start) src-array) + (case (read (n/+ offset src-start) src-array) #;None target (#;Some value) - (write (n.+ offset dest-start) value target))) + (write (n/+ offset dest-start) value target))) dest-array - (list;n.range +0 (n.dec length))))) + (list;n/range +0 (n/dec length))))) (def: #export (occupied array) {#;doc "Finds out how many cells in an array are occupied."} @@ -55,14 +55,14 @@ count (#;Some _) - (n.inc count))) + (n/inc count))) +0 (list;indices (size array)))) (def: #export (vacant array) {#;doc "Finds out how many cells in an array are vacant."} (All [a] (-> (Array a) Nat)) - (n.- (occupied array) (size array))) + (n/- (occupied array) (size array))) (def: #export (filter p xs) (All [a] @@ -97,15 +97,15 @@ (-> (-> a Bool) (Array a) (Maybe a))) (let [arr-size (size xs)] (loop [idx +0] - (if (n.< arr-size idx) + (if (n/< arr-size idx) (case (read idx xs) #;None - (recur (n.inc idx)) + (recur (n/inc idx)) (#;Some x) (if (p x) (#;Some x) - (recur (n.inc idx)))) + (recur (n/inc idx)))) #;None)))) (def: #export (find+ p xs) @@ -114,15 +114,15 @@ (-> (-> Nat a Bool) (Array a) (Maybe [Nat a]))) (let [arr-size (size xs)] (loop [idx +0] - (if (n.< arr-size idx) + (if (n/< arr-size idx) (case (read idx xs) #;None - (recur (n.inc idx)) + (recur (n/inc idx)) (#;Some x) (if (p idx x) (#;Some [idx x]) - (recur (n.inc idx)))) + (recur (n/inc idx)))) #;None)))) (def: #export (clone xs) @@ -141,19 +141,19 @@ (def: #export (from-list xs) (All [a] (-> (List a) (Array a))) (product;right (list/fold (function [x [idx arr]] - [(n.inc idx) (write idx x arr)]) + [(n/inc idx) (write idx x arr)]) [+0 (new (list;size xs))] xs))) -(def: underflow Nat (n.dec +0)) +(def: underflow Nat (n/dec +0)) (def: #export (to-list array) (All [a] (-> (Array a) (List a))) - (loop [idx (n.dec (size array)) + (loop [idx (n/dec (size array)) output #;Nil] - (if (n.= underflow idx) + (if (n/= underflow idx) output - (recur (n.dec idx) + (recur (n/dec idx) (case (read idx array) (#;Some head) (#;Cons head output) @@ -166,7 +166,7 @@ (def: (= xs ys) (let [sxs (size xs) sxy (size ys)] - (and (n.= sxy sxs) + (and (n/= sxy sxs) (list/fold (function [idx prev] (and prev (case [(read idx xs) (read idx ys)] @@ -179,7 +179,7 @@ _ false))) true - (list;n.range +0 (n.dec sxs))))) + (list;n/range +0 (n/dec sxs))))) )) (struct: #export Monoid<Array> (All [a] @@ -189,14 +189,14 @@ (def: (compose xs ys) (let [sxs (size xs) sxy (size ys)] - (|> (new (n.+ sxy sxs)) + (|> (new (n/+ sxy sxs)) (copy sxs +0 xs +0) (copy sxy +0 ys sxs))))) (struct: #export _ (Functor Array) (def: (map f ma) (let [arr-size (size ma)] - (if (n.= +0 arr-size) + (if (n/= +0 arr-size) (new arr-size) (list/fold (: (-> Nat (Array ($ +1)) (Array ($ +1))) (function [idx mb] @@ -207,7 +207,7 @@ (#;Some x) (write idx (f x) mb)))) (new arr-size) - (list;n.range +0 (n.dec arr-size))) + (list;n/range +0 (n/dec arr-size))) ## (list/fold (function [idx mb] ## (case (read idx ma) ## #;None @@ -216,7 +216,7 @@ ## (#;Some x) ## (write idx (f x) mb))) ## (new arr-size) - ## (list;n.range +0 (n.dec arr-size))) + ## (list;n/range +0 (n/dec arr-size))) )))) (struct: #export _ (Fold Array) @@ -224,11 +224,11 @@ (let [arr-size (size xs)] (loop [so-far init idx +0] - (if (n.< arr-size idx) + (if (n/< arr-size idx) (case (read idx xs) #;None - (recur so-far (n.inc idx)) + (recur so-far (n/inc idx)) (#;Some value) - (recur (f value so-far) (n.inc idx))) + (recur (f value so-far) (n/inc idx))) so-far))))) |