hxt-9.3.1.18: A collection of tools for processing XML with Haskell.

Copyright | Copyright (C) 2005 Uwe Schmidt
License | MIT
Maintainer | Uwe Schmidt (uwe\@fh-wedel.de)
Stability | experimental
Portability | portable
Safe Haskell | Safe
Language | Haskell98

Control.Arrow.ListArrow

Description

Implementation of pure list arrows

Synopsis

- newtype LA a b = LA {
  - runLA :: a -> [b]
  }
- fromLA :: ArrowList a => LA b c -> a b c

# Documentation

newtype LA a b Source #

pure list arrow data type

Constructors

LA |

Fields

- runLA :: a -> [b]

#### Instances

Instances details

Arrow LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods arr :: (b -> c) -> LA b c first :: LA b c -> LA (b, d) (c, d) second :: LA b c -> LA (d, b) (d, c) (***) :: LA b c -> LA b' c' -> LA (b, b') (c, c') (&&&) :: LA b c -> LA b c' -> LA b (c, c')
ArrowApply LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods app :: LA (LA b c, b) c
ArrowChoice LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods left :: LA b c -> LA (Either b d) (Either c d) right :: LA b c -> LA (Either d b) (Either d c) (+++) :: LA b c -> LA b' c' -> LA (Either b b') (Either c c') (|||) :: LA b d -> LA c d -> LA (Either b c) d
ArrowPlus LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods (<+>) :: LA b c -> LA b c -> LA b c
ArrowZero LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods zeroArrow :: LA b c
ArrowList LA Source # |

Instance details

Defined in Control.Arrow.ListArrow

Methods

arr2 :: (b1 -> b2 -> c) -> LA (b1, b2) c Source #

arr3 :: (b1 -> b2 -> b3 -> c) -> LA (b1, (b2, b3)) c Source #

arr4 :: (b1 -> b2 -> b3 -> b4 -> c) -> LA (b1, (b2, (b3, b4))) c Source #

arr2A :: (b -> LA c d) -> LA (b, c) d Source #

arrL :: (b -> [c]) -> LA b c Source #

arr2L :: (b -> c -> [d]) -> LA (b, c) d Source #

constA :: c -> LA b c Source #

constL :: [c] -> LA b c Source #

isA :: (b -> Bool) -> LA b b Source #

(>>.) :: LA b c -> ([c] -> [d]) -> LA b d Source #

(>.) :: LA b c -> ([c] -> d) -> LA b d Source #

listA :: LA b c -> LA b [c] Source #

unlistA :: LA [b] b Source #

this :: LA b b Source #

none :: LA b c Source #

withDefault :: LA b c -> c -> LA b c Source #

single :: LA b c -> LA b c Source #

applyA :: LA b (LA b c) -> LA b c Source #

($<) :: (c -> LA b d) -> LA b c -> LA b d Source #

($<<) :: (c1 -> c2 -> LA b d) -> LA b (c1, c2) -> LA b d Source #

($<<<) :: (c1 -> c2 -> c3 -> LA b d) -> LA b (c1, (c2, c3)) -> LA b d Source #

($<<<<) :: (c1 -> c2 -> c3 -> c4 -> LA b d) -> LA b (c1, (c2, (c3, c4))) -> LA b d Source #

($<$) :: (c -> LA b b) -> LA b c -> LA b b Source #

mergeA :: (LA (a1, b1) a1 -> LA (a1, b1) b1 -> LA (a1, b1) c) -> LA (a1, b1) c Source #

perform :: LA b c -> LA b b Source #

catA :: [LA b c] -> LA b c Source #

seqA :: [LA b b] -> LA b b Source #

ArrowIf LA Source # |

Instance details

Defined in Control.Arrow.ListArrow

Methods

ifA :: LA b c -> LA b d -> LA b d -> LA b d Source #

ifP :: (b -> Bool) -> LA b d -> LA b d -> LA b d Source #

neg :: LA b c -> LA b b Source #

when :: LA b b -> LA b c -> LA b b Source #

whenP :: LA b b -> (b -> Bool) -> LA b b Source #

whenNot :: LA b b -> LA b c -> LA b b Source #

whenNotP :: LA b b -> (b -> Bool) -> LA b b Source #

guards :: LA b c -> LA b d -> LA b d Source #

guardsP :: (b -> Bool) -> LA b d -> LA b d Source #

filterA :: LA b c -> LA b b Source #

containing :: LA b c -> LA c d -> LA b c Source #

notContaining :: LA b c -> LA c d -> LA b c Source #

orElse :: LA b c -> LA b c -> LA b c Source #

choiceA :: [IfThen (LA b c) (LA b d)] -> LA b d Source #

tagA :: LA b c -> LA b (Either b b) Source #

spanA :: LA b b -> LA [b] ([b], [b]) Source #

partitionA :: LA b b -> LA [b] ([b], [b]) Source #

ArrowWNF LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods rwnfA :: WNFData c => LA b c -> LA b c Source # rwnf2A :: WNFData c => LA b c -> LA b c Source #
ArrowNF LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods rnfA :: NFData c => LA b c -> LA b c Source #
ArrowTree LA Source # |

Instance details

Defined in Control.Arrow.ListArrow

Methods

mkLeaf :: Tree t => b -> LA c (t b) Source #

mkTree :: Tree t => b -> [t b] -> LA c (t b) Source #

getChildren :: Tree t => LA (t b) (t b) Source #

getNode :: Tree t => LA (t b) b Source #

hasNode :: Tree t => (b -> Bool) -> LA (t b) (t b) Source #

setChildren :: Tree t => [t b] -> LA (t b) (t b) Source #

setNode :: Tree t => b -> LA (t b) (t b) Source #

changeChildren :: Tree t => ([t b] -> [t b]) -> LA (t b) (t b) Source #

changeNode :: Tree t => (b -> b) -> LA (t b) (t b) Source #

processChildren :: Tree t => LA (t b) (t b) -> LA (t b) (t b) Source #

replaceChildren :: Tree t => LA (t b) (t b) -> LA (t b) (t b) Source #

(/>) :: Tree t => LA b (t c) -> LA (t c) d -> LA b d Source #

(//>) :: Tree t => LA b (t c) -> LA (t c) d -> LA b d Source #

(</) :: Tree t => LA (t b) (t b) -> LA (t b) (t b) -> LA (t b) (t b) Source #

deep :: Tree t => LA (t b) c -> LA (t b) c Source #

deepest :: Tree t => LA (t b) c -> LA (t b) c Source #

multi :: Tree t => LA (t b) c -> LA (t b) c Source #

processBottomUp :: Tree t => LA (t b) (t b) -> LA (t b) (t b) Source #

processTopDown :: Tree t => LA (t b) (t b) -> LA (t b) (t b) Source #

processBottomUpWhenNot :: Tree t => LA (t b) (t b) -> LA (t b) (t b) -> LA (t b) (t b) Source #

processTopDownUntil :: Tree t => LA (t b) (t b) -> LA (t b) (t b) Source #

insertChildrenAt :: Tree t => Int -> LA (t b) (t b) -> LA (t b) (t b) Source #

insertChildrenAfter :: Tree t => LA (t b) (t b) -> LA (t b) (t b) -> LA (t b) (t b) Source #

insertTreeTemplate :: Tree t => LA (t b) (t b) -> [IfThen (LA (t b) c) (LA (t b) (t b))] -> LA (t b) (t b) Source #

ArrowNavigatableTree LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods moveUp :: NavigatableTree t => LA (t b) (t b) Source # moveDown :: NavigatableTree t => LA (t b) (t b) Source # moveLeft :: NavigatableTree t => LA (t b) (t b) Source # moveRight :: NavigatableTree t => LA (t b) (t b) Source #
ArrowDTD LA Source # |

Instance details

Defined in Text.XML.HXT.Arrow.XmlArrow

Methods

isDTDDoctype :: LA XmlTree XmlTree Source #

isDTDElement :: LA XmlTree XmlTree Source #

isDTDContent :: LA XmlTree XmlTree Source #

isDTDAttlist :: LA XmlTree XmlTree Source #

isDTDEntity :: LA XmlTree XmlTree Source #

isDTDPEntity :: LA XmlTree XmlTree Source #

isDTDNotation :: LA XmlTree XmlTree Source #

isDTDCondSect :: LA XmlTree XmlTree Source #

isDTDName :: LA XmlTree XmlTree Source #

isDTDPERef :: LA XmlTree XmlTree Source #

hasDTDAttr :: String -> LA XmlTree XmlTree Source #

getDTDAttrValue :: String -> LA XmlTree String Source #

setDTDAttrValue :: String -> String -> LA XmlTree XmlTree Source #

mkDTDElem :: DTDElem -> Attributes -> LA n XmlTree -> LA n XmlTree Source #

mkDTDDoctype :: Attributes -> LA n XmlTree -> LA n XmlTree Source #

mkDTDElement :: Attributes -> LA n XmlTree Source #

mkDTDEntity :: Attributes -> LA n XmlTree Source #

mkDTDPEntity :: Attributes -> LA n XmlTree Source #

ArrowXml LA Source # |

Instance details

Defined in Text.XML.HXT.Arrow.XmlArrow

Methods

isText :: LA XmlTree XmlTree Source #

isBlob :: LA XmlTree XmlTree Source #

isCharRef :: LA XmlTree XmlTree Source #

isEntityRef :: LA XmlTree XmlTree Source #

isCmt :: LA XmlTree XmlTree Source #

isCdata :: LA XmlTree XmlTree Source #

isPi :: LA XmlTree XmlTree Source #

isXmlPi :: LA XmlTree XmlTree Source #

isElem :: LA XmlTree XmlTree Source #

isDTD :: LA XmlTree XmlTree Source #

isAttr :: LA XmlTree XmlTree Source #

isError :: LA XmlTree XmlTree Source #

isRoot :: LA XmlTree XmlTree Source #

hasText :: (String -> Bool) -> LA XmlTree XmlTree Source #

isWhiteSpace :: LA XmlTree XmlTree Source #

hasNameWith :: (QName -> Bool) -> LA XmlTree XmlTree Source #

hasQName :: QName -> LA XmlTree XmlTree Source #

hasName :: String -> LA XmlTree XmlTree Source #

hasLocalPart :: String -> LA XmlTree XmlTree Source #

hasNamePrefix :: String -> LA XmlTree XmlTree Source #

hasNamespaceUri :: String -> LA XmlTree XmlTree Source #

hasAttr :: String -> LA XmlTree XmlTree Source #

hasQAttr :: QName -> LA XmlTree XmlTree Source #

hasAttrValue :: String -> (String -> Bool) -> LA XmlTree XmlTree Source #

hasQAttrValue :: QName -> (String -> Bool) -> LA XmlTree XmlTree Source #

mkText :: LA String XmlTree Source #

mkBlob :: LA Blob XmlTree Source #

mkCharRef :: LA Int XmlTree Source #

mkEntityRef :: LA String XmlTree Source #

mkCmt :: LA String XmlTree Source #

mkCdata :: LA String XmlTree Source #

mkError :: Int -> LA String XmlTree Source #

mkElement :: QName -> LA n XmlTree -> LA n XmlTree -> LA n XmlTree Source #

mkAttr :: QName -> LA n XmlTree -> LA n XmlTree Source #

mkPi :: QName -> LA n XmlTree -> LA n XmlTree Source #

mkqelem :: QName -> [LA n XmlTree] -> [LA n XmlTree] -> LA n XmlTree Source #

mkelem :: String -> [LA n XmlTree] -> [LA n XmlTree] -> LA n XmlTree Source #

aelem :: String -> [LA n XmlTree] -> LA n XmlTree Source #

selem :: String -> [LA n XmlTree] -> LA n XmlTree Source #

eelem :: String -> LA n XmlTree Source #

root :: [LA n XmlTree] -> [LA n XmlTree] -> LA n XmlTree Source #

qattr :: QName -> LA n XmlTree -> LA n XmlTree Source #

attr :: String -> LA n XmlTree -> LA n XmlTree Source #

txt :: String -> LA n XmlTree Source #

blb :: Blob -> LA n XmlTree Source #

charRef :: Int -> LA n XmlTree Source #

entityRef :: String -> LA n XmlTree Source #

cmt :: String -> LA n XmlTree Source #

warn :: String -> LA n XmlTree Source #

err :: String -> LA n XmlTree Source #

fatal :: String -> LA n XmlTree Source #

spi :: String -> String -> LA n XmlTree Source #

sqattr :: QName -> String -> LA n XmlTree Source #

sattr :: String -> String -> LA n XmlTree Source #

getText :: LA XmlTree String Source #

getCharRef :: LA XmlTree Int Source #

getEntityRef :: LA XmlTree String Source #

getCmt :: LA XmlTree String Source #

getCdata :: LA XmlTree String Source #

getPiName :: LA XmlTree QName Source #

getPiContent :: LA XmlTree XmlTree Source #

getElemName :: LA XmlTree QName Source #

getAttrl :: LA XmlTree XmlTree Source #

getDTDPart :: LA XmlTree DTDElem Source #

getDTDAttrl :: LA XmlTree Attributes Source #

getAttrName :: LA XmlTree QName Source #

getErrorLevel :: LA XmlTree Int Source #

getErrorMsg :: LA XmlTree String Source #

getQName :: LA XmlTree QName Source #

getName :: LA XmlTree String Source #

getUniversalName :: LA XmlTree String Source #

getUniversalUri :: LA XmlTree String Source #

getLocalPart :: LA XmlTree String Source #

getNamePrefix :: LA XmlTree String Source #

getNamespaceUri :: LA XmlTree String Source #

getAttrValue :: String -> LA XmlTree String Source #

getAttrValue0 :: String -> LA XmlTree String Source #

getQAttrValue :: QName -> LA XmlTree String Source #

getQAttrValue0 :: QName -> LA XmlTree String Source #

changeText :: (String -> String) -> LA XmlTree XmlTree Source #

changeBlob :: (Blob -> Blob) -> LA XmlTree XmlTree Source #

changeCmt :: (String -> String) -> LA XmlTree XmlTree Source #

changeQName :: (QName -> QName) -> LA XmlTree XmlTree Source #

changeElemName :: (QName -> QName) -> LA XmlTree XmlTree Source #

changeAttrName :: (QName -> QName) -> LA XmlTree XmlTree Source #

changePiName :: (QName -> QName) -> LA XmlTree XmlTree Source #

changeAttrValue :: (String -> String) -> LA XmlTree XmlTree Source #

changeAttrl :: (XmlTrees -> XmlTrees -> XmlTrees) -> LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

setQName :: QName -> LA XmlTree XmlTree Source #

setElemName :: QName -> LA XmlTree XmlTree Source #

setAttrName :: QName -> LA XmlTree XmlTree Source #

setPiName :: QName -> LA XmlTree XmlTree Source #

setAttrl :: LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

addAttrl :: LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

addAttr :: String -> String -> LA XmlTree XmlTree Source #

removeAttr :: String -> LA XmlTree XmlTree Source #

removeQAttr :: QName -> LA XmlTree XmlTree Source #

processAttrl :: LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

processTopDownWithAttrl :: LA XmlTree XmlTree -> LA XmlTree XmlTree Source #

(+=) :: LA b XmlTree -> LA b XmlTree -> LA b XmlTree Source #

xshow :: LA n XmlTree -> LA n String Source #

xshowBlob :: LA n XmlTree -> LA n Blob Source #

Category LA Source # |
Instance details Defined in Control.Arrow.ListArrow Methods id :: forall (a :: k). LA a a (.) :: forall (b :: k) (c :: k) (a :: k). LA b c -> LA a b -> LA a c

fromLA :: ArrowList a => LA b c -> a b c Source #

conversion of pure list arrows into other possibly more complex list arrows