| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
Distribution.Utils.IOData
Contents
Description
Since: 2.2.0
Synopsis
- data IOData
 - data IODataMode mode where
 - class NFData mode => KnownIODataMode mode where
- hGetIODataContents :: Handle -> IO mode
 - toIOData :: mode -> IOData
 - iodataMode :: IODataMode mode
 
 - withIOData :: IOData -> (forall mode. IODataMode mode -> mode -> r) -> r
 - null :: IOData -> Bool
 - hPutContents :: Handle -> IOData -> IO ()
 
IOData & IODataMode type
Represents either textual or binary data passed via I/O functions which support binary/text mode
Since: 2.2
Constructors
| IODataText String | How Text gets encoded is usually locale-dependent.  | 
| IODataBinary ByteString | Raw binary which gets read/written in binary mode.  | 
data IODataMode mode where Source #
Phantom-typed GADT representation of the mode of IOData, containing no
 other data.
Since: 3.2
Constructors
| IODataModeText :: IODataMode String | |
| IODataModeBinary :: IODataMode ByteString | 
class NFData mode => KnownIODataMode mode where Source #
Since: 2.2
Methods
hGetIODataContents :: Handle -> IO mode Source #
IOData Wrapper for hGetContents
Note: This operation uses lazy I/O. Use NFData to force all
 data to be read and consequently the internal file handle to be
 closed.
toIOData :: mode -> IOData Source #
iodataMode :: IODataMode mode Source #
Instances
| KnownIODataMode ByteString Source # | |
Defined in Distribution.Utils.IOData Methods hGetIODataContents :: Handle -> IO ByteString Source # toIOData :: ByteString -> IOData Source #  | |
| a ~ Char => KnownIODataMode [a] Source # | |
Defined in Distribution.Utils.IOData Methods hGetIODataContents :: Handle -> IO [a] Source # toIOData :: [a] -> IOData Source # iodataMode :: IODataMode [a] Source #  | |
withIOData :: IOData -> (forall mode. IODataMode mode -> mode -> r) -> r Source #
Applies a function polymorphic over IODataMode to an IOData value.
hPutContents :: Handle -> IOData -> IO () Source #
IOData Wrapper for hPutStr and hClose
This is the dual operation ot hGetIODataContents,
 and consequently the handle is closed with hClose.
Note: this performs lazy-IO.
Since: 2.2