<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >System.IO</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ></HEAD ><BODY ><DIV CLASS="outer" ><DIV CLASS="mini-topbar" >System.IO</DIV ><DIV CLASS="mini-synopsis" ><H1 >The IO monad </H1 > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="System-IO.html#t%3AIO" TARGET="main" >IO</A > a</DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AfixIO" TARGET="main" >fixIO</A ></DIV > <H1 >Files and handles </H1 > <DIV CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="System-IO.html#t%3AFilePath" TARGET="main" >FilePath</A > </DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="System-IO.html#t%3AHandle" TARGET="main" >Handle</A > </DIV > <H2 >Standard handles </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3Astdin" TARGET="main" >stdin</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3Astdout" TARGET="main" >stdout</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3Astderr" TARGET="main" >stderr</A ></DIV > <H1 >Opening and closing files </H1 > <H2 >Opening files </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AwithFile" TARGET="main" >withFile</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AopenFile" TARGET="main" >openFile</A ></DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="System-IO.html#t%3AIOMode" TARGET="main" >IOMode</A > </DIV > <H2 >Closing files </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhClose" TARGET="main" >hClose</A ></DIV > <H2 >Special cases </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AreadFile" TARGET="main" >readFile</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AwriteFile" TARGET="main" >writeFile</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AappendFile" TARGET="main" >appendFile</A ></DIV > <H2 >File locking </H2 > <H1 >Operations on handles </H1 > <H2 >Determining and changing the size of a file </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhFileSize" TARGET="main" >hFileSize</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhSetFileSize" TARGET="main" >hSetFileSize</A ></DIV > <H2 >Detecting the end of input </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhIsEOF" TARGET="main" >hIsEOF</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AisEOF" TARGET="main" >isEOF</A ></DIV > <H2 >Buffering operations </H2 > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="System-IO.html#t%3ABufferMode" TARGET="main" >BufferMode</A > </DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhSetBuffering" TARGET="main" >hSetBuffering</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhGetBuffering" TARGET="main" >hGetBuffering</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhFlush" TARGET="main" >hFlush</A ></DIV > <H2 >Repositioning handles </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhGetPosn" TARGET="main" >hGetPosn</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhSetPosn" TARGET="main" >hSetPosn</A ></DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="System-IO.html#t%3AHandlePosn" TARGET="main" >HandlePosn</A > </DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhSeek" TARGET="main" >hSeek</A ></DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="System-IO.html#t%3ASeekMode" TARGET="main" >SeekMode</A > </DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhTell" TARGET="main" >hTell</A ></DIV > <H2 >Handle properties </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhIsOpen" TARGET="main" >hIsOpen</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhIsClosed" TARGET="main" >hIsClosed</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhIsReadable" TARGET="main" >hIsReadable</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhIsWritable" TARGET="main" >hIsWritable</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhIsSeekable" TARGET="main" >hIsSeekable</A ></DIV > <H2 >Terminal operations (not portable: GHC/Hugs only) </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhIsTerminalDevice" TARGET="main" >hIsTerminalDevice</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhSetEcho" TARGET="main" >hSetEcho</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhGetEcho" TARGET="main" >hGetEcho</A ></DIV > <H2 >Showing handle state (not portable: GHC only) </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhShow" TARGET="main" >hShow</A ></DIV > <H1 >Text input and output </H1 > <H2 >Text input </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhWaitForInput" TARGET="main" >hWaitForInput</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhReady" TARGET="main" >hReady</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhGetChar" TARGET="main" >hGetChar</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhGetLine" TARGET="main" >hGetLine</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhLookAhead" TARGET="main" >hLookAhead</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhGetContents" TARGET="main" >hGetContents</A ></DIV > <H2 >Text output </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhPutChar" TARGET="main" >hPutChar</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhPutStr" TARGET="main" >hPutStr</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhPutStrLn" TARGET="main" >hPutStrLn</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhPrint" TARGET="main" >hPrint</A ></DIV > <H2 >Special cases for standard input and output </H2 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3Ainteract" TARGET="main" >interact</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AputChar" TARGET="main" >putChar</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AputStr" TARGET="main" >putStr</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AputStrLn" TARGET="main" >putStrLn</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3Aprint" TARGET="main" >print</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AgetChar" TARGET="main" >getChar</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AgetLine" TARGET="main" >getLine</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AgetContents" TARGET="main" >getContents</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AreadIO" TARGET="main" >readIO</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AreadLn" TARGET="main" >readLn</A ></DIV > <H1 >Binary input and output </H1 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AwithBinaryFile" TARGET="main" >withBinaryFile</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AopenBinaryFile" TARGET="main" >openBinaryFile</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhSetBinaryMode" TARGET="main" >hSetBinaryMode</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhPutBuf" TARGET="main" >hPutBuf</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhGetBuf" TARGET="main" >hGetBuf</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhPutBufNonBlocking" TARGET="main" >hPutBufNonBlocking</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AhGetBufNonBlocking" TARGET="main" >hGetBufNonBlocking</A ></DIV > <H1 >Temporary files </H1 > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AopenTempFile" TARGET="main" >openTempFile</A ></DIV > <DIV CLASS="decl" ><A HREF="System-IO.html#v%3AopenBinaryTempFile" TARGET="main" >openBinaryTempFile</A ></DIV ></DIV ></DIV ></BODY ></HTML >