- data Tree v a = Node a (v (Tree v a))
- flatten :: Foldable v => Tree v a -> [a]
- levels :: (Applicative v, Foldable v, Monoid (v a)) => Tree v a -> [v a]
- unfoldTree :: Functor v => (b -> (a, v b)) -> b -> Tree v a
- unfoldTreeM :: (Monad m, Traversable v) => (b -> m (a, v b)) -> b -> m (Tree v a)
Documentation
Multary (Rose) Tree
Functor v => Functor (Tree v) | |
(Functor v, Alternative v) => Applicative (Tree v) | |
Foldable v => Foldable (Tree v) | |
Traversable v => Traversable (Tree v) | |
(Eq a, Eq (v (Tree v a))) => Eq (Tree v a) |
levels :: (Applicative v, Foldable v, Monoid (v a)) => Tree v a -> [v a]Source
Lists of nodes at each level of tree
unfoldTree :: Functor v => (b -> (a, v b)) -> b -> Tree v aSource
Build tree from seed value
unfoldTreeM :: (Monad m, Traversable v) => (b -> m (a, v b)) -> b -> m (Tree v a)Source
Build a tree from seed value, monadically