1 definition module StdRoseTree
5 /** This module defines rose trees.
7 :: RoseTree a = Node a [RoseTree a]
8 :: Children a :== a -> [a]
11 iteratetree :: !(Children a) a -> RoseTree a
13 root :: !(RoseTree a) -> a
14 children :: !(RoseTree a) -> [RoseTree a]
15 depth :: !(RoseTree a) -> Int
17 maptree :: (a -> b) !(RoseTree a) -> RoseTree b
18 prunetree :: !PruneDepth !(RoseTree a) -> RoseTree a
19 bonsai :: !(RoseTree a) -> RoseTree a | Eq a
20 paths :: !(RoseTree a) -> [[a]]