Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class PlowHandle hdl where
- data Handle :: *
- data SeekMode :: *
- seekUntil :: PlowHandle hdl => hdl -> (Char -> Bool) -> IO Bool
- seekUntilRev :: PlowHandle hdl => hdl -> (Char -> Bool) -> IO Bool
- data MultiHandle h
- withMultiHandle :: [FilePath] -> (MultiHandle Handle -> IO a) -> IO a
Documentation
class PlowHandle hdl where Source #
pSeek :: hdl -> SeekMode -> Integer -> IO () Source #
pTell :: hdl -> IO Integer Source #
pGetChar :: hdl -> IO Char Source #
pGetLine :: hdl -> IO ByteString Source #
PlowHandle Handle Source # | |
PlowHandle h => PlowHandle (MultiHandle h) Source # | |
Haskell defines operations to read and write characters from and to files,
represented by values of type Handle
. Each value of this type is a
handle: a record used by the Haskell run-time system to manage I/O
with file system objects. A handle has at least the following properties:
- whether it manages input or output or both;
- whether it is open, closed or semi-closed;
- whether the object is seekable;
- whether buffering is disabled, or enabled on a line or block basis;
- a buffer (whose length may be zero).
Most handles will also have a current I/O position indicating where the next
input or output operation will occur. A handle is readable if it
manages only input or both input and output; likewise, it is writable if
it manages only output or both input and output. A handle is open when
first allocated.
Once it is closed it can no longer be used for either input or output,
though an implementation cannot re-use its storage while references
remain to it. Handles are in the Show
and Eq
classes. The string
produced by showing a handle is system dependent; it should include
enough information to identify the handle for debugging. A handle is
equal according to ==
only to itself; no attempt
is made to compare the internal state of different handles for equality.
A mode that determines the effect of hSeek
hdl mode i
.
AbsoluteSeek | the position of |
RelativeSeek | the position of |
SeekFromEnd | the position of |
seekUntil :: PlowHandle hdl => hdl -> (Char -> Bool) -> IO Bool Source #
Seek until a certain charater is reached
seekUntilRev :: PlowHandle hdl => hdl -> (Char -> Bool) -> IO Bool Source #
Seek until a certain charater is reached in reverse
data MultiHandle h Source #
PlowHandle h => PlowHandle (MultiHandle h) Source # | |
withMultiHandle :: [FilePath] -> (MultiHandle Handle -> IO a) -> IO a Source #