System.IO

# The IO monad

data IO a
fixIO

# Files and handles

type FilePath
data Handle

## Standard handles

stdin
stdout
stderr

# Opening and closing files

## Opening files

withFile
openFile
data IOMode

## Closing files

hClose

## Special cases

readFile
writeFile
appendFile

## File locking

# Operations on handles

## Determining and changing the size of a file

hFileSize
hSetFileSize

## Detecting the end of input

hIsEOF
isEOF

## Buffering operations

data BufferMode
hSetBuffering
hGetBuffering
hFlush

## Repositioning handles

hGetPosn
hSetPosn
data HandlePosn
hSeek
data SeekMode
hTell

## Handle properties

hIsOpen
hIsClosed
hIsReadable
hIsWritable
hIsSeekable

## Terminal operations (not portable: GHC/Hugs only)

hIsTerminalDevice
hSetEcho
hGetEcho

## Showing handle state (not portable: GHC only)

hShow

# Text input and output

## Text input

hWaitForInput
hReady
hGetChar
hGetLine
hLookAhead
hGetContents

## Text output

hPutChar
hPutStr
hPutStrLn
hPrint

## Special cases for standard input and output

interact
putChar
putStr
putStrLn
print
getChar
getLine
getContents
readIO
readLn

# Binary input and output

withBinaryFile
openBinaryFile
hSetBinaryMode
hPutBuf
hGetBuf
hPutBufNonBlocking
hGetBufNonBlocking

# Temporary files

openTempFile
openBinaryTempFile