hxt-9.3.1.22: A collection of tools for processing XML with Haskell.
CopyrightCopyright (C) 2005 Uwe Schmidt
LicenseMIT
MaintainerUwe Schmidt (uwe\@fh-wedel.de)
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Arrow.ArrowIO

Description

Lifting of IO actions to arrows

Synopsis

Documentation

class Arrow a => ArrowIO a where Source #

the interface for converting an IO action into an arrow

Minimal complete definition

arrIO

Methods

arrIO :: (b -> IO c) -> a b c Source #

construct an arrow from an IO action

arrIO0 :: IO c -> a b c Source #

construct an arrow from an IO action without any parameter

arrIO2 :: (b1 -> b2 -> IO c) -> a (b1, b2) c Source #

construction of a 2 argument arrow from a binary IO action | | example: a1 &&& a2 >>> arr2 f

arrIO3 :: (b1 -> b2 -> b3 -> IO c) -> a (b1, (b2, b3)) c Source #

construction of a 3 argument arrow from a 3-ary IO action | | example: a1 &&& a2 &&& a3 >>> arr3 f

arrIO4 :: (b1 -> b2 -> b3 -> b4 -> IO c) -> a (b1, (b2, (b3, b4))) c Source #

construction of a 4 argument arrow from a 4-ary IO action | | example: a1 &&& a2 &&& a3 &&& a4 >>> arr4 f

Instances

Instances details
ArrowIO IOLA Source # 
Instance details

Defined in Control.Arrow.IOListArrow

Methods

arrIO :: (b -> IO c) -> IOLA b c Source #

arrIO0 :: IO c -> IOLA b c Source #

arrIO2 :: (b1 -> b2 -> IO c) -> IOLA (b1, b2) c Source #

arrIO3 :: (b1 -> b2 -> b3 -> IO c) -> IOLA (b1, (b2, b3)) c Source #

arrIO4 :: (b1 -> b2 -> b3 -> b4 -> IO c) -> IOLA (b1, (b2, (b3, b4))) c Source #

ArrowIO (IOSLA s) Source # 
Instance details

Defined in Control.Arrow.IOStateListArrow

Methods

arrIO :: (b -> IO c) -> IOSLA s b c Source #

arrIO0 :: IO c -> IOSLA s b c Source #

arrIO2 :: (b1 -> b2 -> IO c) -> IOSLA s (b1, b2) c Source #

arrIO3 :: (b1 -> b2 -> b3 -> IO c) -> IOSLA s (b1, (b2, b3)) c Source #

arrIO4 :: (b1 -> b2 -> b3 -> b4 -> IO c) -> IOSLA s (b1, (b2, (b3, b4))) c Source #

class (Arrow a, ArrowIO a) => ArrowIOIf a where Source #

the interface for converting an IO predicate into a list arrow

Methods

isIOA :: (b -> IO Bool) -> a b b Source #

builds an arrow from an IO predicate

if the predicate holds, the single list containing the input is returned, else the empty list, similar to isA

Instances

Instances details
ArrowIOIf IOLA Source # 
Instance details

Defined in Control.Arrow.IOListArrow

Methods

isIOA :: (b -> IO Bool) -> IOLA b b Source #

ArrowIOIf (IOSLA s) Source # 
Instance details

Defined in Control.Arrow.IOStateListArrow

Methods

isIOA :: (b -> IO Bool) -> IOSLA s b b Source #