Portability | portable |
---|---|
Stability | provisional |
Maintainer | John Goerzen <jgoerzen@complete.org> |
String-like functions
Written by John Goerzen, jgoerzen@complete.org
- class ListLike full item => ListLikeIO full item | full -> item where
- hGetLine :: Handle -> IO full
- hGetContents :: Handle -> IO full
- hGet :: Handle -> Int -> IO full
- hGetNonBlocking :: Handle -> Int -> IO full
- hPutStr :: Handle -> full -> IO ()
- hPutStrLn :: Handle -> full -> IO ()
- getLine :: IO full
- getContents :: IO full
- putStr :: full -> IO ()
- putStrLn :: full -> IO ()
- interact :: (full -> full) -> IO ()
- readFile :: FilePath -> IO full
- writeFile :: FilePath -> full -> IO ()
- appendFile :: FilePath -> full -> IO ()
Documentation
class ListLike full item => ListLikeIO full item | full -> item whereSource
An extension to ListLike
for those data types that support
I/O. These functions mirror those in System.IO for the most part. They
also share the same names; see the comments in Data.ListLike for help
importing them.
Note that some types may not be capable of lazy reading or writing. Therefore, the usual semantics of System.IO functions regarding laziness may or may not be available from a particular implementation.
Minimal complete definition:
- hGetLine
- hGetContents
- hGet
- hGetNonBlocking
- hPutStr
hGetLine :: Handle -> IO fullSource
Reads a line from the specified handle
hGetContents :: Handle -> IO fullSource
Read entire handle contents. May be done lazily like
System.IO.hGetContents
.
hGet :: Handle -> Int -> IO fullSource
Read specified number of bytes. See System.IO.hGet
for
particular semantics.
hGetNonBlocking :: Handle -> Int -> IO fullSource
Non-blocking read. See System.IO.hGetNonBlocking
for more.
hPutStr :: Handle -> full -> IO ()Source
Writing entire data.
hPutStrLn :: Handle -> full -> IO ()Source
Write data plus newline character.
Read one line
getContents :: IO fullSource
Read entire content from stdin. See hGetContents
.
Write data to stdout.
putStrLn :: full -> IO ()Source
Write data plus newline character to stdout.
interact :: (full -> full) -> IO ()Source
Interact with stdin and stdout by using a function to transform
input to output. May be lazy. See System.IO.interact
for more.
readFile :: FilePath -> IO fullSource
Read file. May be lazy.
writeFile :: FilePath -> full -> IO ()Source
Write data to file.
appendFile :: FilePath -> full -> IO ()Source
Append data to file.