aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/data/coll/tree/zipper.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/data/coll/tree/zipper.lux')
-rw-r--r--stdlib/source/lux/data/coll/tree/zipper.lux41
1 files changed, 30 insertions, 11 deletions
diff --git a/stdlib/source/lux/data/coll/tree/zipper.lux b/stdlib/source/lux/data/coll/tree/zipper.lux
index 421c10fe9..845dd4c4c 100644
--- a/stdlib/source/lux/data/coll/tree/zipper.lux
+++ b/stdlib/source/lux/data/coll/tree/zipper.lux
@@ -82,12 +82,19 @@
(#.Some parent)
(|> parent
+ ## TODO: Remove once new-luxc becomes the standard compiler.
(update@ #node (: (-> (Tree ($ +0)) (Tree ($ +0)))
- (function [node]
+ (function (_ node)
(set@ #rose.children (L/compose (list.reverse (get@ #lefts zipper))
(#.Cons (get@ #node zipper)
(get@ #rights zipper)))
- node)))))))
+ node))))
+ ## (update@ #node (function (_ node)
+ ## (set@ #rose.children (L/compose (list.reverse (get@ #lefts zipper))
+ ## (#.Cons (get@ #node zipper)
+ ## (get@ #rights zipper)))
+ ## node)))
+ )))
(def: #export (root zipper)
(All [a] (-> (Zipper a) (Zipper a)))
@@ -105,14 +112,14 @@
(#.Cons next side')
(|> zipper
- (update@ <op-side> (function [op-side]
+ (update@ <op-side> (function (_ op-side)
(#.Cons (get@ #node zipper) op-side)))
(set@ <side> side')
(set@ #node next))))
(def: #export (<all-name> zipper)
(All [a] (-> (Zipper a) (Zipper a)))
- (L/fold (function [_] <one-name>) zipper (get@ <side> zipper)))]
+ (L/fold (function (_ _) <one-name>) zipper (get@ <side> zipper)))]
[right rightmost #rights #lefts]
[left leftmost #lefts #rights]
@@ -143,19 +150,26 @@
(def: #export (prepend-child value zipper)
(All [a] (-> a (Zipper a) (Zipper a)))
(update@ [#node #rose.children]
- (function [children]
+ (function (_ children)
+ ## TODO: Remove once new-luxc becomes the standard compiler.
(list& (: (Tree ($ +0))
(rose.tree [value {}]))
- children))
+ children)
+ ## (list& (rose.tree [value {}])
+ ## children)
+ )
zipper))
(def: #export (append-child value zipper)
(All [a] (-> a (Zipper a) (Zipper a)))
(update@ [#node #rose.children]
- (function [children]
+ (function (_ children)
(L/compose children
+ ## TODO: Remove once new-luxc becomes the standard compiler.
(list (: (Tree ($ +0))
- (rose.tree [value {}])))))
+ (rose.tree [value {}])))
+ ## (list (rose.tree [value {}]))
+ ))
zipper))
(def: #export (remove zipper)
@@ -184,10 +198,14 @@
_
(#.Some (|> zipper
- (update@ <side> (function [side]
+ (update@ <side> (function (_ side)
+ ## TODO: Remove once new-luxc becomes the standard compiler.
(#.Cons (: (Tree ($ +0))
(rose.tree [value {}]))
- side)))))))]
+ side)
+ ## (#.Cons (rose.tree [value {}])
+ ## side)
+ ))))))]
[insert-left #lefts]
[insert-right #rights]
@@ -200,13 +218,14 @@
#rights (|> fa (get@ #rights) (L/map (T/map f)))
#node (T/map f (get@ #node fa))}))
+## TODO: Add again once new-luxc becomes the standard compiler.
## (struct: #export _ (CoMonad Zipper)
## (def: functor Functor<Zipper>)
## (def: unwrap (get@ [#node #rose.value]))
## (def: (split wa)
-## (let [tree-splitter (function tree-splitter [tree]
+## (let [tree-splitter (function (tree-splitter tree)
## {#rose.value (zip tree)
## #rose.children (L/map tree-splitter
## (get@ #rose.children tree))})]