Copyright | Copyright (C) 2005 Uwe Schmidt |
---|---|
License | MIT |
Maintainer | Uwe Schmidt (uwe\@fh-wedel.de) |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell98 |
Lifting of IO actions to arrows
Documentation
class Arrow a => ArrowIO a where Source #
the interface for converting an IO action into an arrow
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
class (Arrow a, ArrowIO a) => ArrowIOIf a where Source #
the interface for converting an IO predicate into a list arrow