ZVON > References > Haskell reference
| Indexes | Syntax | Prelude | Ratio | Complex | Numeric | Ix | Array | List | Maybe | Char | Monad | >> IO << | Directory | System | Time | Locale | CPUTime | Random

Module: IO
Function: hIsEOF
Type: Handle -> IO Bool
Description: For a readable handle hdl, computation hIsEOF hdl returns True if no further input can be taken from hdl; for a handle attached to a physical file this means that the current I/O position is equal to the length of the file. Otherwise, it returns False. The computation isEOF is identical, except that it works only on stdin.

Example 1
File: /tmp/foo.txt : 

Hello, world!
Program source: 

import IO

main =  do hdl <- openFile "/tmp/foo.txt" ReadMode
	   aaa hdl

aaa hdl =  do t <- hIsEOF hdl
	      if t then return()
	           else do x <- hGetChar hdl
			   putChar x
			   aaa hdl

Output: Hello, world!