Portability  portable 

Stability  experimental 
Maintainer  Uwe Schmidt (uwe\@fhwedel.de) 
Safe Haskell  SafeInferred 
Lifting of IO actions to arrows
Documentation
class Arrow a => ArrowIO a whereSource
the interface for converting an IO action into an arrow
arrIO :: (b > IO c) > a b cSource
construct an arrow from an IO action
construct an arrow from an IO action without any parameter
arrIO2 :: (b1 > b2 > IO c) > a (b1, b2) cSource
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)) cSource
construction of a 3 argument arrow from a 3ary IO action

 example: a1 &&& a2 &&& a3 >>> arr3 f
arrIO4 :: (b1 > b2 > b3 > b4 > IO c) > a (b1, (b2, (b3, b4))) cSource
construction of a 4 argument arrow from a 4ary IO action

 example: a1 &&& a2 &&& a3 &&& a4 >>> arr4 f
class (Arrow a, ArrowIO a) => ArrowIOIf a whereSource
the interface for converting an IO predicate into a list arrow