wraxml-0.4.2: Lazy wrapper to HaXML, HXT, TagSoup via custom XML tree structureSource codeContentsIndex
Data.Tree.BranchLeafLabel
Synopsis
type T i branch leaf = (i, Elem i branch leaf)
data Elem i branch leaf
= Branch branch [T i branch leaf]
| Leaf 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
show/hide Instances
(Show i, Show branch, Show leaf) => Show (Elem i branch leaf)
map :: (branch0 -> branch1) -> (leaf0 -> leaf1) -> T i branch0 leaf0 -> T i branch1 leaf1Source
mapLabel :: (i -> j) -> T i branch leaf -> T j branch leafSource
mapCond :: (branch -> Bool) -> (branch -> branch) -> (leaf -> leaf) -> T i branch leaf -> T i branch leafSource
mapSubTrees :: (branch -> Bool) -> ((branch, [T i branch leaf]) -> (branch, [T i branch leaf])) -> T i branch leaf -> T i branch leafSource
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 -> bSource
switch :: (i -> a -> b) -> (branch -> [T i branch leaf] -> a) -> (leaf -> a) -> T i branch leaf -> bSource
foldLabel :: (i -> branch -> [b] -> b) -> (i -> leaf -> b) -> T i branch leaf -> bSource
switchLabel :: (i -> branch -> [T i branch leaf] -> b) -> (i -> leaf -> b) -> T i branch leaf -> bSource
switchElem :: (branch -> [T i branch leaf] -> a) -> (leaf -> a) -> Elem i branch leaf -> aSource
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 bSource
foldM :: Monad m => (i -> a -> m b) -> (branch -> [b] -> m a) -> (leaf -> m a) -> T i branch leaf -> m bSource
Produced by Haddock version 2.6.0