biohazard-0.6.13: bioinformatics support library

Safe HaskellNone
LanguageHaskell2010

Bio.Iteratee.IO.Handle

Contents

Description

Random and Binary IO with generic Iteratees. These functions use Handles for IO operations, and are provided for compatibility. When available, the File Descriptor based functions are preferred as these wastefully allocate memory rather than running in constant space.

Synopsis

File enumerators

enumHandle Source #

Arguments

:: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) 
=> Int

Buffer size (number of elements per read)

-> Handle 
-> Enumerator s m a 

The (monadic) enumerator of a file Handle. This version enumerates over the entire contents of a file, in order, unless stopped by the iteratee. In particular, seeking is not supported. Data is read into a buffer of the specified size.

enumHandleCatch Source #

Arguments

:: (IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) 
=> Int

Buffer size (number of elements per read)

-> Handle 
-> (e -> m (Maybe EnumException)) 
-> Enumerator s m a 

An enumerator of a file handle that catches exceptions raised by the Iteratee.

enumHandleRandom Source #

Arguments

:: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) 
=> Int

Buffer size (number of elements per read)

-> Handle 
-> Enumerator s m a 

The enumerator of a Handle: a variation of enumHandle that supports RandomIO (seek requests). Data is read into a buffer of the specified size.

enumFile Source #

Arguments

:: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) 
=> Int

Buffer size

-> FilePath 
-> Enumerator s m a 

enumFileRandom Source #

Arguments

:: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) 
=> Int

Buffer size

-> FilePath 
-> Enumerator s m a 

Iteratee drivers

fileDriverHandle Source #

Arguments

:: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) 
=> Int

Buffer size (number of elements)

-> Iteratee s m a 
-> FilePath 
-> m a 

Process a file using the given Iteratee. This function wraps enumHandle as a convenience.

fileDriverRandomHandle Source #

Arguments

:: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) 
=> Int

Buffer size (number of elements)

-> Iteratee s m a 
-> FilePath 
-> m a 

A version of fileDriverHandle that supports seeking.