ListLike-1.0.0: Generic support for list-like structuresContentsIndex
Data.ListLike.IO
Portabilityportable
Stabilityprovisional
MaintainerJohn Goerzen <jgoerzen@complete.org>
Description

String-like functions

Written by John Goerzen, jgoerzen@complete.org

Synopsis
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 where

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
Methods
hGetLine :: Handle -> IO full
Reads a line from the specified handle
hGetContents :: Handle -> IO full
Read entire handle contents. May be done lazily like hGetContents.
hGet :: Handle -> Int -> IO full
Read specified number of bytes. See hGet for particular semantics.
hGetNonBlocking :: Handle -> Int -> IO full
Non-blocking read. See hGetNonBlocking for more.
hPutStr :: Handle -> full -> IO ()
Writing entire data.
hPutStrLn :: Handle -> full -> IO ()
Write data plus newline character.
getLine :: IO full
Read one line
getContents :: IO full
Read entire content from stdin. See hGetContents.
putStr :: full -> IO ()
Write data to stdout.
putStrLn :: full -> IO ()
Write data plus newline character to stdout.
interact :: (full -> full) -> IO ()
Interact with stdin and stdout by using a function to transform input to output. May be lazy. See interact for more.
readFile :: FilePath -> IO full
Read file. May be lazy.
writeFile :: FilePath -> full -> IO ()
Write data to file.
appendFile :: FilePath -> full -> IO ()
Append data to file.
show/hide Instances
ListLikeIO ByteString Word8
ListLikeIO ByteString Word8
ListLikeIO String Char
(Integral i, Ix i) => ListLikeIO (Array i Char) Char
Produced by Haddock version 0.8