Control.Arrow.IOListArrow

hxt-9.3.1.16: 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.IOListArrow

Description

Implementation of pure list arrows with IO

Synopsis

- newtype IOLA a b = IOLA {
  - runIOLA :: a -> IO [b]
  }

# Documentation

newtype IOLA a b #

list arrow combined with IO monad

Constructors

IOLA |
Fields runIOLA :: a -> IO [b]

Instances

Arrow IOLA # |
Methods arr :: (b -> c) -> IOLA b c # first :: IOLA b c -> IOLA (b, d) (c, d) # second :: IOLA b c -> IOLA (d, b) (d, c) # (***) :: IOLA b c -> IOLA b' c' -> IOLA (b, b') (c, c') # (&&&) :: IOLA b c -> IOLA b c' -> IOLA b (c, c') #
ArrowZero IOLA # |
Methods zeroArrow :: IOLA b c #
ArrowPlus IOLA # |
Methods (<+>) :: IOLA b c -> IOLA b c -> IOLA b c #
ArrowChoice IOLA # |
Methods left :: IOLA b c -> IOLA (Either b d) (Either c d) # right :: IOLA b c -> IOLA (Either d b) (Either d c) # (+++) :: IOLA b c -> IOLA b' c' -> IOLA (Either b b') (Either c c') # (|||) :: IOLA b d -> IOLA c d -> IOLA (Either b c) d #
ArrowApply IOLA # |
Methods app :: IOLA (IOLA b c, b) c #
ArrowList IOLA # |
Methods arr2 :: (b1 -> b2 -> c) -> IOLA (b1, b2) c # arr3 :: (b1 -> b2 -> b3 -> c) -> IOLA (b1, (b2, b3)) c # arr4 :: (b1 -> b2 -> b3 -> b4 -> c) -> IOLA (b1, (b2, (b3, b4))) c # arr2A :: (b -> IOLA c d) -> IOLA (b, c) d # arrL :: (b -> [c]) -> IOLA b c # arr2L :: (b -> c -> [d]) -> IOLA (b, c) d # constA :: c -> IOLA b c # constL :: [c] -> IOLA b c # isA :: (b -> Bool) -> IOLA b b # (>>.) :: IOLA b c -> ([c] -> [d]) -> IOLA b d # (>.) :: IOLA b c -> ([c] -> d) -> IOLA b d # listA :: IOLA b c -> IOLA b [c] # unlistA :: IOLA [b] b # this :: IOLA b b # none :: IOLA b c # withDefault :: IOLA b c -> c -> IOLA b c # single :: IOLA b c -> IOLA b c # applyA :: IOLA b (IOLA b c) -> IOLA b c # ($<) :: (c -> IOLA b d) -> IOLA b c -> IOLA b d # ($<<) :: (c1 -> c2 -> IOLA b d) -> IOLA b (c1, c2) -> IOLA b d # ($<<<) :: (c1 -> c2 -> c3 -> IOLA b d) -> IOLA b (c1, (c2, c3)) -> IOLA b d # ($<<<<) :: (c1 -> c2 -> c3 -> c4 -> IOLA b d) -> IOLA b (c1, (c2, (c3, c4))) -> IOLA b d # ($<$) :: (c -> IOLA b b) -> IOLA b c -> IOLA b b # mergeA :: (IOLA (a1, b1) a1 -> IOLA (a1, b1) b1 -> IOLA (a1, b1) c) -> IOLA (a1, b1) c # perform :: IOLA b c -> IOLA b b # catA :: [IOLA b c] -> IOLA b c # seqA :: [IOLA b b] -> IOLA b b #
ArrowWNF IOLA # |
Methods rwnfA :: WNFData c => IOLA b c -> IOLA b c # rwnf2A :: WNFData c => IOLA b c -> IOLA b c #
ArrowNF IOLA # |
Methods rnfA :: NFData c => IOLA b c -> IOLA b c #
ArrowIf IOLA # |
Methods ifA :: IOLA b c -> IOLA b d -> IOLA b d -> IOLA b d # ifP :: (b -> Bool) -> IOLA b d -> IOLA b d -> IOLA b d # neg :: IOLA b c -> IOLA b b # when :: IOLA b b -> IOLA b c -> IOLA b b # whenP :: IOLA b b -> (b -> Bool) -> IOLA b b # whenNot :: IOLA b b -> IOLA b c -> IOLA b b # whenNotP :: IOLA b b -> (b -> Bool) -> IOLA b b # guards :: IOLA b c -> IOLA b d -> IOLA b d # guardsP :: (b -> Bool) -> IOLA b d -> IOLA b d # filterA :: IOLA b c -> IOLA b b # containing :: IOLA b c -> IOLA c d -> IOLA b c # notContaining :: IOLA b c -> IOLA c d -> IOLA b c # orElse :: IOLA b c -> IOLA b c -> IOLA b c # choiceA :: [IfThen (IOLA b c) (IOLA b d)] -> IOLA b d # tagA :: IOLA b c -> IOLA b (Either b b) # spanA :: IOLA b b -> IOLA [b] ([b], [b]) # partitionA :: IOLA b b -> IOLA [b] ([b], [b]) #
ArrowNavigatableTree IOLA # |
Methods moveUp :: NavigatableTree t => IOLA (t b) (t b) # moveDown :: NavigatableTree t => IOLA (t b) (t b) # moveLeft :: NavigatableTree t => IOLA (t b) (t b) # moveRight :: NavigatableTree t => IOLA (t b) (t b) #
ArrowTree IOLA # |
Methods mkLeaf :: Tree t => b -> IOLA c (t b) # mkTree :: Tree t => b -> [t b] -> IOLA c (t b) # getChildren :: Tree t => IOLA (t b) (t b) # getNode :: Tree t => IOLA (t b) b # hasNode :: Tree t => (b -> Bool) -> IOLA (t b) (t b) # setChildren :: Tree t => [t b] -> IOLA (t b) (t b) # setNode :: Tree t => b -> IOLA (t b) (t b) # changeChildren :: Tree t => ([t b] -> [t b]) -> IOLA (t b) (t b) # changeNode :: Tree t => (b -> b) -> IOLA (t b) (t b) # processChildren :: Tree t => IOLA (t b) (t b) -> IOLA (t b) (t b) # replaceChildren :: Tree t => IOLA (t b) (t b) -> IOLA (t b) (t b) # (/>) :: Tree t => IOLA b (t c) -> IOLA (t c) d -> IOLA b d # (//>) :: Tree t => IOLA b (t c) -> IOLA (t c) d -> IOLA b d # (</) :: Tree t => IOLA (t b) (t b) -> IOLA (t b) (t b) -> IOLA (t b) (t b) # deep :: Tree t => IOLA (t b) c -> IOLA (t b) c # deepest :: Tree t => IOLA (t b) c -> IOLA (t b) c # multi :: Tree t => IOLA (t b) c -> IOLA (t b) c # processBottomUp :: Tree t => IOLA (t b) (t b) -> IOLA (t b) (t b) # processTopDown :: Tree t => IOLA (t b) (t b) -> IOLA (t b) (t b) # processBottomUpWhenNot :: Tree t => IOLA (t b) (t b) -> IOLA (t b) (t b) -> IOLA (t b) (t b) # processTopDownUntil :: Tree t => IOLA (t b) (t b) -> IOLA (t b) (t b) # insertChildrenAt :: Tree t => Int -> IOLA (t b) (t b) -> IOLA (t b) (t b) # insertChildrenAfter :: Tree t => IOLA (t b) (t b) -> IOLA (t b) (t b) -> IOLA (t b) (t b) # insertTreeTemplate :: Tree t => IOLA (t b) (t b) -> [IfThen (IOLA (t b) c) (IOLA (t b) (t b))] -> IOLA (t b) (t b) #
ArrowIOIf IOLA # |
Methods isIOA :: (b -> IO Bool) -> IOLA b b #
ArrowIO IOLA # |
Methods arrIO :: (b -> IO c) -> IOLA b c # arrIO0 :: IO c -> IOLA b c # arrIO2 :: (b1 -> b2 -> IO c) -> IOLA (b1, b2) c # arrIO3 :: (b1 -> b2 -> b3 -> IO c) -> IOLA (b1, (b2, b3)) c # arrIO4 :: (b1 -> b2 -> b3 -> b4 -> IO c) -> IOLA (b1, (b2, (b3, b4))) c #
ArrowExc IOLA # |
Methods tryA :: IOLA b c -> IOLA b (Either SomeException c) # catchA :: IOLA b c -> IOLA SomeException c -> IOLA b c #
ArrowDTD IOLA # |
Methods isDTDDoctype :: IOLA XmlTree XmlTree # isDTDElement :: IOLA XmlTree XmlTree # isDTDContent :: IOLA XmlTree XmlTree # isDTDAttlist :: IOLA XmlTree XmlTree # isDTDEntity :: IOLA XmlTree XmlTree # isDTDPEntity :: IOLA XmlTree XmlTree # isDTDNotation :: IOLA XmlTree XmlTree # isDTDCondSect :: IOLA XmlTree XmlTree # isDTDName :: IOLA XmlTree XmlTree # isDTDPERef :: IOLA XmlTree XmlTree # hasDTDAttr :: String -> IOLA XmlTree XmlTree # getDTDAttrValue :: String -> IOLA XmlTree String # setDTDAttrValue :: String -> String -> IOLA XmlTree XmlTree # mkDTDElem :: DTDElem -> Attributes -> IOLA n XmlTree -> IOLA n XmlTree # mkDTDDoctype :: Attributes -> IOLA n XmlTree -> IOLA n XmlTree # mkDTDElement :: Attributes -> IOLA n XmlTree # mkDTDEntity :: Attributes -> IOLA n XmlTree # mkDTDPEntity :: Attributes -> IOLA n XmlTree #
ArrowXml IOLA # |
Methods isText :: IOLA XmlTree XmlTree # isBlob :: IOLA XmlTree XmlTree # isCharRef :: IOLA XmlTree XmlTree # isEntityRef :: IOLA XmlTree XmlTree # isCmt :: IOLA XmlTree XmlTree # isCdata :: IOLA XmlTree XmlTree # isPi :: IOLA XmlTree XmlTree # isXmlPi :: IOLA XmlTree XmlTree # isElem :: IOLA XmlTree XmlTree # isDTD :: IOLA XmlTree XmlTree # isAttr :: IOLA XmlTree XmlTree # isError :: IOLA XmlTree XmlTree # isRoot :: IOLA XmlTree XmlTree # hasText :: (String -> Bool) -> IOLA XmlTree XmlTree # isWhiteSpace :: IOLA XmlTree XmlTree # hasNameWith :: (QName -> Bool) -> IOLA XmlTree XmlTree # hasQName :: QName -> IOLA XmlTree XmlTree # hasName :: String -> IOLA XmlTree XmlTree # hasLocalPart :: String -> IOLA XmlTree XmlTree # hasNamePrefix :: String -> IOLA XmlTree XmlTree # hasNamespaceUri :: String -> IOLA XmlTree XmlTree # hasAttr :: String -> IOLA XmlTree XmlTree # hasQAttr :: QName -> IOLA XmlTree XmlTree # hasAttrValue :: String -> (String -> Bool) -> IOLA XmlTree XmlTree # hasQAttrValue :: QName -> (String -> Bool) -> IOLA XmlTree XmlTree # mkText :: IOLA String XmlTree # mkBlob :: IOLA Blob XmlTree # mkCharRef :: IOLA Int XmlTree # mkEntityRef :: IOLA String XmlTree # mkCmt :: IOLA String XmlTree # mkCdata :: IOLA String XmlTree # mkError :: Int -> IOLA String XmlTree # mkElement :: QName -> IOLA n XmlTree -> IOLA n XmlTree -> IOLA n XmlTree # mkAttr :: QName -> IOLA n XmlTree -> IOLA n XmlTree # mkPi :: QName -> IOLA n XmlTree -> IOLA n XmlTree # mkqelem :: QName -> [IOLA n XmlTree] -> [IOLA n XmlTree] -> IOLA n XmlTree # mkelem :: String -> [IOLA n XmlTree] -> [IOLA n XmlTree] -> IOLA n XmlTree # aelem :: String -> [IOLA n XmlTree] -> IOLA n XmlTree # selem :: String -> [IOLA n XmlTree] -> IOLA n XmlTree # eelem :: String -> IOLA n XmlTree # root :: [IOLA n XmlTree] -> [IOLA n XmlTree] -> IOLA n XmlTree # qattr :: QName -> IOLA n XmlTree -> IOLA n XmlTree # attr :: String -> IOLA n XmlTree -> IOLA n XmlTree # txt :: String -> IOLA n XmlTree # blb :: Blob -> IOLA n XmlTree # charRef :: Int -> IOLA n XmlTree # entityRef :: String -> IOLA n XmlTree # cmt :: String -> IOLA n XmlTree # warn :: String -> IOLA n XmlTree # err :: String -> IOLA n XmlTree # fatal :: String -> IOLA n XmlTree # spi :: String -> String -> IOLA n XmlTree # sqattr :: QName -> String -> IOLA n XmlTree # sattr :: String -> String -> IOLA n XmlTree # getText :: IOLA XmlTree String # getCharRef :: IOLA XmlTree Int # getEntityRef :: IOLA XmlTree String # getCmt :: IOLA XmlTree String # getCdata :: IOLA XmlTree String # getPiName :: IOLA XmlTree QName # getPiContent :: IOLA XmlTree XmlTree # getElemName :: IOLA XmlTree QName # getAttrl :: IOLA XmlTree XmlTree # getDTDPart :: IOLA XmlTree DTDElem # getDTDAttrl :: IOLA XmlTree Attributes # getAttrName :: IOLA XmlTree QName # getErrorLevel :: IOLA XmlTree Int # getErrorMsg :: IOLA XmlTree String # getQName :: IOLA XmlTree QName # getName :: IOLA XmlTree String # getUniversalName :: IOLA XmlTree String # getUniversalUri :: IOLA XmlTree String # getLocalPart :: IOLA XmlTree String # getNamePrefix :: IOLA XmlTree String # getNamespaceUri :: IOLA XmlTree String # getAttrValue :: String -> IOLA XmlTree String # getAttrValue0 :: String -> IOLA XmlTree String # getQAttrValue :: QName -> IOLA XmlTree String # getQAttrValue0 :: QName -> IOLA XmlTree String # changeText :: (String -> String) -> IOLA XmlTree XmlTree # changeBlob :: (Blob -> Blob) -> IOLA XmlTree XmlTree # changeCmt :: (String -> String) -> IOLA XmlTree XmlTree # changeQName :: (QName -> QName) -> IOLA XmlTree XmlTree # changeElemName :: (QName -> QName) -> IOLA XmlTree XmlTree # changeAttrName :: (QName -> QName) -> IOLA XmlTree XmlTree # changePiName :: (QName -> QName) -> IOLA XmlTree XmlTree # changeAttrValue :: (String -> String) -> IOLA XmlTree XmlTree # changeAttrl :: (XmlTrees -> XmlTrees -> XmlTrees) -> IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree # setQName :: QName -> IOLA XmlTree XmlTree # setElemName :: QName -> IOLA XmlTree XmlTree # setAttrName :: QName -> IOLA XmlTree XmlTree # setPiName :: QName -> IOLA XmlTree XmlTree # setAttrl :: IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree # addAttrl :: IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree # addAttr :: String -> String -> IOLA XmlTree XmlTree # removeAttr :: String -> IOLA XmlTree XmlTree # removeQAttr :: QName -> IOLA XmlTree XmlTree # processAttrl :: IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree # processTopDownWithAttrl :: IOLA XmlTree XmlTree -> IOLA XmlTree XmlTree # (+=) :: IOLA b XmlTree -> IOLA b XmlTree -> IOLA b XmlTree # xshow :: IOLA n XmlTree -> IOLA n String # xshowBlob :: IOLA n XmlTree -> IOLA n Blob #
Category * IOLA # |
Methods id :: cat a a # (.) :: cat b c -> cat a b -> cat a c #