
Data.Tree.BranchLeafLabel 



Synopsis 

type T i branch leaf = (i, Elem i branch leaf)     map :: (branch0 > branch1) > (leaf0 > leaf1) > T i branch0 leaf0 > T i branch1 leaf1   mapLabel :: (i > j) > T i branch leaf > T j branch leaf   mapCond :: (branch > Bool) > (branch > branch) > (leaf > leaf) > T i branch leaf > T i branch leaf   mapSubTrees :: (branch > Bool) > ((branch, [T i branch leaf]) > (branch, [T i branch leaf])) > T i branch leaf > T i branch leaf   filterBranch :: (branch > Bool) > T i branch leaf > [T i branch leaf]   fold :: (i > a > b) > (branch > [b] > a) > (leaf > a) > T i branch leaf > b   switch :: (i > a > b) > (branch > [T i branch leaf] > a) > (leaf > a) > T i branch leaf > b   foldLabel :: (i > branch > [b] > b) > (i > leaf > b) > T i branch leaf > b   switchLabel :: (i > branch > [T i branch leaf] > b) > (i > leaf > b) > T i branch leaf > b   switchElem :: (branch > [T i branch leaf] > a) > (leaf > a) > Elem i branch leaf > a   allSubTrees :: T i branch leaf > [T i branch leaf]   mapA :: Applicative m => (branch0 > m branch1) > (leaf0 > m leaf1) > T i branch0 leaf0 > m (T i branch1 leaf1)   mapCondA :: Applicative m => (branch > Bool) > (branch > m branch) > (leaf > m leaf) > T i branch leaf > m (T i branch leaf)   foldA :: Applicative m => (i > m (a > b)) > (branch > m ([b] > a)) > (leaf > m a) > T i branch leaf > m b   foldM :: Monad m => (i > a > m b) > (branch > [b] > m a) > (leaf > m a) > T i branch leaf > m b 


Documentation 

type T i branch leaf = (i, Elem i branch leaf)  Source 


data Elem i branch leaf  Source 

Constructors  Branch branch [T i branch leaf]   Leaf leaf  
 Instances  


map :: (branch0 > branch1) > (leaf0 > leaf1) > T i branch0 leaf0 > T i branch1 leaf1  Source 


mapLabel :: (i > j) > T i branch leaf > T j branch leaf  Source 


mapCond :: (branch > Bool) > (branch > branch) > (leaf > leaf) > T i branch leaf > T i branch leaf  Source 


mapSubTrees :: (branch > Bool) > ((branch, [T i branch leaf]) > (branch, [T i branch leaf])) > T i branch leaf > T i branch leaf  Source 

Process the subtrees for which the predicate holds.
If the predicate matches subtrees of a matching subtree,
the subsubtrees are not mapped.


filterBranch :: (branch > Bool) > T i branch leaf > [T i branch leaf]  Source 


fold :: (i > a > b) > (branch > [b] > a) > (leaf > a) > T i branch leaf > b  Source 


switch :: (i > a > b) > (branch > [T i branch leaf] > a) > (leaf > a) > T i branch leaf > b  Source 


foldLabel :: (i > branch > [b] > b) > (i > leaf > b) > T i branch leaf > b  Source 


switchLabel :: (i > branch > [T i branch leaf] > b) > (i > leaf > b) > T i branch leaf > b  Source 


switchElem :: (branch > [T i branch leaf] > a) > (leaf > a) > Elem i branch leaf > a  Source 


allSubTrees :: T i branch leaf > [T i branch leaf]  Source 


mapA :: Applicative m => (branch0 > m branch1) > (leaf0 > m leaf1) > T i branch0 leaf0 > m (T i branch1 leaf1)  Source 


mapCondA :: Applicative m => (branch > Bool) > (branch > m branch) > (leaf > m leaf) > T i branch leaf > m (T i branch leaf)  Source 


foldA :: Applicative m => (i > m (a > b)) > (branch > m ([b] > a)) > (leaf > m a) > T i branch leaf > m b  Source 


foldM :: Monad m => (i > a > m b) > (branch > [b] > m a) > (leaf > m a) > T i branch leaf > m b  Source 


Produced by Haddock version 2.6.0 