System.IO.Strict

strict-0.3.2: Strict data types and String IO.

Copyright | (c) Don Stewart 2007
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | dons@galois.com
Stability | stable
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell98

System.IO.Strict

Contents

- Strict Handle IO
- Strict String IO wrappers

Description

The standard IO input functions using strict IO.

Synopsis

- hGetContents :: Handle -> IO String
- getContents :: IO String
- readFile :: FilePath -> IO String
- interact :: (String -> String) -> IO ()

# Strict Handle IO

hGetContents :: Handle -> IO String

Computation `hGetContents` `hdl` returns the list of characters corresponding to the unread portion of the channel or file managed by `hdl`, which is immediate closed.

Items are read strictly from the input Handle.

This operation may fail with:

- `isEOFError` if the end of file has been reached.

# Strict String IO wrappers

getContents :: IO String

The `getContents` operation returns all user input as a single string, which is read stirctly (same as `hGetContents` `stdin`).

readFile :: FilePath -> IO String

The `readFile` function reads a file and returns the contents of the file as a string. The file is read strictly, as with `getContents`.

interact :: (String -> String) -> IO ()

The `interact` function takes a function of type `String->String` as its argument. The entire input from the standard input device is passed to this function as its argument, and the resulting string is output on the standard output device.