:: Handle -> IO a -package:product-profunctors
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.
Read a fully-typed XML document from a file handle.
Reads a line from the specified handle
Read entire handle contents. May be done lazily like
hGetContents.
Read n bytes *or* characters, depending on the implementation into a
ByteString, directly from the specified Handle
Whether or not this function is lazy depends on the instance; laziness
is preferred.
Read a single line from a handle
Throw an error, escaping the current computation up to the nearest
catchError (if any).
runThrow (throwError e >>= k) = runThrow (throwError e)
Like
throwEnvelopeErr but without providing a message.
>>> import Control.Monad.Except (runExcept)
>>> throwEnvelopeErr "BAD_ERROR" "a very bad error occurred!" :: Either (Err String) Int
Left (Err {errErr = "BAD_ERROR", errExtra = Just "a very bad error occurred!"})
Return the value of the variable or throw an error.