|
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 sub-subtrees 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 |