wraxml-0.4.4.2: Lazy wrapper to HaXML, HXT, TagSoup via custom XML tree structure

Safe HaskellSafe
LanguageHaskell98

Data.Tree.BranchLeafLabel

Synopsis
  • type T i branch leaf = (i, Elem i branch leaf)
  • data 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
  • foldLabelAlt :: (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
(Show branch, Show i, Show leaf) => Show (Elem i branch leaf) Source # 
Instance details

Defined in Data.Tree.BranchLeafLabel

Methods

showsPrec :: Int -> Elem i branch leaf -> ShowS #

show :: Elem i branch leaf -> String #

showList :: [Elem i branch leaf] -> ShowS #

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 #

foldLabelAlt :: (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 #