| Copyright | (c) The University of Glasgow 2002 | 
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) | 
| Maintainer | [email protected] | 
| Stability | experimental | 
| Portability | portable | 
| Safe Haskell | Trustworthy | 
| Language | Haskell98 | 
Multi-way trees (aka rose trees) and forests.
Multi-way trees, also known as rose trees.
type Forest a = [Tree a] Source
drawTree :: Tree String -> String Source
Neat 2-dimensional drawing of a tree.
drawForest :: Forest String -> String Source
Neat 2-dimensional drawing of a forest.
flatten :: Tree a -> [a] Source
The elements of a tree in pre-order.
levels :: Tree a -> [[a]] Source
Lists of nodes at each level of the tree.
unfoldTree :: (b -> (a, [b])) -> b -> Tree a Source
Build a tree from a seed value
unfoldForest :: (b -> (a, [b])) -> [b] -> Forest a Source
Build a forest from a list of seed values
unfoldTreeM :: Monad m => (b -> m (a, [b])) -> b -> m (Tree a) Source
Monadic tree builder, in depth-first order
unfoldForestM :: Monad m => (b -> m (a, [b])) -> [b] -> m (Forest a) Source
Monadic forest builder, in depth-first order
unfoldTreeM_BF :: Monad m => (b -> m (a, [b])) -> b -> m (Tree a) Source
Monadic tree builder, in breadth-first order, using an algorithm adapted from Breadth-First Numbering: Lessons from a Small Exercise in Algorithm Design, by Chris Okasaki, ICFP'00.
unfoldForestM_BF :: Monad m => (b -> m (a, [b])) -> [b] -> m (Forest a) Source
Monadic forest builder, in breadth-first order, using an algorithm adapted from Breadth-First Numbering: Lessons from a Small Exercise in Algorithm Design, by Chris Okasaki, ICFP'00.
    © The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
    https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/containers-0.5.6.2/Data-Tree.html