|
| Control.Arrow.ArrowIO | | Portability | portable | | Stability | experimental | | Maintainer | Uwe Schmidt (uwe\@fh-wedel.de) |
|
|
|
| Description |
Version : $Id: ArrowIO.hs,v 1.6 20050902 17:09:39 hxml Exp $
Lifting of IO actions to arrows
|
|
| Synopsis |
|
| class Arrow a => ArrowIO a where | | arrIO :: (b -> IO c) -> a b c | | arrIO0 :: IO c -> a b c | | arrIO2 :: (b1 -> b2 -> IO c) -> a (b1, b2) c | | arrIO3 :: (b1 -> b2 -> b3 -> IO c) -> a (b1, (b2, b3)) c | | arrIO4 :: (b1 -> b2 -> b3 -> b4 -> IO c) -> a (b1, (b2, (b3, b4))) c |
| | | class (Arrow a, ArrowIO a) => ArrowIOIf a where | | isIOA :: (b -> IO Bool) -> a b b |
|
|
|
| Documentation |
|
| class Arrow a => ArrowIO a where |
| the interface for converting an IO action into an arrow
| | | Methods | | arrIO :: (b -> IO c) -> a b c | | construct an arrow from an IO action
| | | arrIO0 :: IO c -> a b c | | construct an arrow from an IO action without any parameter
| | | arrIO2 :: (b1 -> b2 -> IO c) -> a (b1, b2) c | | 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 | | 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 | | construction of a 4 argument arrow from a 4-ary IO action
|
| example: a1 &&& a2 &&& a3 &&& a4 >>> arr4 f
|
| | Instances | |
|
|
| class (Arrow a, ArrowIO a) => ArrowIOIf a where |
| the interface for converting an IO predicate into a list arrow
| | | Methods | | isIOA :: (b -> IO Bool) -> a b b | 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 | |
|
|
| Produced by Haddock version 0.8 |