[Haskell-cafe] Tree Construction

Tom Hawkins tomahawkins at gmail.com
Sat Sep 25 05:54:18 EDT 2010


Often I need to assemble a tree from things with unstructured
hierarchical paths.  I built a function [1] to do this for ImProve.
But does a library already exist that does this?  If not I may create
one, as I need it for a few different libraries.

data Tree a b = Branch a [Tree a b] | Leaf a b

tree :: (Eq a, Ord a) => (b -> [a]) -> [b] -> [Tree a b]

Note, type 'a' is some sort of label, most often a string, and type
'b' form the leaves of the tree.  The function passed into 'tree'
returns the hierarchical path of a leaf object.


[1] http://hackage.haskell.org/packages/archive/improve/0.0.12/doc/html/Language-ImProve-Tree.html

More information about the Haskell-Cafe mailing list