-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | IO utilities for the machines library
--   
--   IO utilities for the machines library
@package machines-io
@version 0.2.0.13

module System.IO.Machine
type DataModeIO m a = MonadIO m => ((Handle -> m a), (Handle -> a -> m ()))
type SinkIO m k = MonadIO m => forall a. ProcessT m k a
type SourceIO m a = MonadIO m => forall k. MachineT m k a
type IODataMode a = ((Handle -> IO a), (Handle -> a -> IO ()))
type IOSink k = forall a. ProcessT IO k a
type IOSource a = forall k. MachineT IO k a
byChar :: IODataMode Char
byChunk :: IOData a => IODataMode a
byChunkOf :: Int -> IODataMode ByteString
byWord8 :: IODataMode Word8
byLine :: IOData a => DataModeIO m a
sourceIO :: IO a -> SourceIO m a
sourceHandle :: DataModeIO m a -> Handle -> SourceIO m a
sourceIOWith :: m r -> (r -> m Bool) -> (r -> m a) -> SourceIO m a
sourceHandleWith :: (Handle -> m a) -> Handle -> SourceIO m a
sinkIO :: (a -> IO ()) -> SinkIO m a
sinkHandle :: IODataMode a -> Handle -> SinkIO m a
sinkHandleWith :: (Handle -> a -> IO ()) -> Handle -> SinkIO m a
filteredIO :: (a -> IO Bool) -> ProcessT IO a a
printer :: Show a => SinkIO m a
