| hxt-8.5.2: A collection of tools for processing XML with Haskell. | Source code | Contents | Index

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 | Source

the interface for converting an IO action into an arrow
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

ArrowIO IOLA
ArrowIO (IOSLA s)

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 Control.Arrow.ArrowList.isA

Instances

ArrowIOIf IOLA
ArrowIOIf (IOSLA s)

Produced by Haddock version 2.4.2