The IO monad
Files and handles
Standard handles
Opening and closing files
Opening files
Closing files
Special cases
File locking
Operations on handles
Determining and changing the size of a file
Detecting the end of input
Buffering operations
Repositioning handles
Handle properties
Terminal operations
Showing handle state
Text input and output
Text input
Text output
Special cases for standard input and output