Provide iteratee-based IO as described in Oleg Kiselyov's paper http:okmij.orgftpHaskellIteratee.
Oleg's original code uses lists to store buffers of data for reading in the iteratee. This package allows the use of arbitrary types through use of the StreamChunk type class. See Data.Iteratee.WrappedByteString for implementation details.
- module Data.Iteratee.Binary
- module Data.Iteratee.ListLike
- fileDriver :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
- fileDriverVBuf :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- fileDriverRandom :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
- fileDriverRandomVBuf :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
Documentation
module Data.Iteratee.Binary
module Data.Iteratee.ListLike
fileDriver :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m aSource
Process a file using the given Iteratee. This function wraps enumFd as a convenience.
fileDriverVBuf :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m aSource
A version of fileDriver with a user-specified buffer size (in elements).
fileDriverRandom :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m aSource
Process a file using the given Iteratee. This function wraps enumFdRandom as a convenience.
fileDriverRandomVBuf :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m aSource