aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/data/struct/vector.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/data/struct/vector.lux15
1 files changed, 7 insertions, 8 deletions
diff --git a/stdlib/source/lux/data/struct/vector.lux b/stdlib/source/lux/data/struct/vector.lux
index 4b8fb4bf3..9c04bc173 100644
--- a/stdlib/source/lux/data/struct/vector.lux
+++ b/stdlib/source/lux/data/struct/vector.lux
@@ -365,12 +365,11 @@
(struct: #export (Eq<Vector> Eq<a>) (All [a] (-> (Eq a) (Eq (Vector a))))
(def: (= v1 v2)
(and (=+ (get@ #size v1) (get@ #size v2))
- (:: (Eq<Node> Eq<a>) =
- (#Base (get@ #tail v1))
- (#Base (get@ #tail v2)))
- (:: (Eq<Node> Eq<a>) =
- (#Hierarchy (get@ #root v1))
- (#Hierarchy (get@ #root v2))))))
+ (let [(^open "Node/") (Eq<Node> Eq<a>)]
+ (and (Node/= (#Base (get@ #tail v1))
+ (#Base (get@ #tail v2)))
+ (Node/= (#Hierarchy (get@ #root v1))
+ (#Hierarchy (get@ #root v2))))))))
(struct: _ (Fold Node)
(def: (fold f init xs)
@@ -436,9 +435,9 @@
(struct: #export _ (Monad Vector)
(def: applicative Applicative<Vector>)
- (def: (join ffa)
+ (def: join
(let [(^open) Functor<Vector>
(^open) Fold<Vector>
(^open) Monoid<Vector>]
- (fold append unit ffa)))
+ (fold append unit)))
)