Foundation.IO

foundation-0.0.30: Alternative prelude with batteries and no dependencies

License | BSD-style
Maintainer | Vincent Hanquez <vincent@snarc.org>
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell2010

Foundation.IO

Contents

- Terminal
- File

Description

IO Routine

Synopsis

- putStrLn :: String -> IO ()
- putStr :: String -> IO ()
- stdin :: Handle
- stdout :: Handle
- data IOMode
  - = ReadMode
  - | WriteMode
  - | AppendMode
  - | ReadWriteMode
- openFile :: FilePath -> IOMode -> IO Handle
- closeFile :: Handle -> IO ()
- withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r
- hGet :: Handle -> Int -> IO (UArray Word8)
- hPut :: Handle -> UArray Word8 -> IO ()
- readFile :: FilePath -> IO (UArray Word8)

# Terminal

putStrLn :: String -> IO () #

Print a string with a newline to standard output

putStr :: String -> IO () #

Print a string to standard output

stdin :: Handle #

stdout :: Handle #

# File

data IOMode #

See `openFile`

Constructors

ReadMode |
WriteMode |
AppendMode |
ReadWriteMode |

#### Instances

Instances details

Enum IOMode | @since base-4.2.0.0
Instance details Defined in GHC.Internal.IO.IOMode Methods succ :: IOMode -> IOMode # pred :: IOMode -> IOMode # toEnum :: Int -> IOMode # fromEnum :: IOMode -> Int # enumFrom :: IOMode -> [IOMode] # enumFromThen :: IOMode -> IOMode -> [IOMode] # enumFromTo :: IOMode -> IOMode -> [IOMode] # enumFromThenTo :: IOMode -> IOMode -> IOMode -> [IOMode] #
Ix IOMode | @since base-4.2.0.0
Instance details Defined in GHC.Internal.IO.IOMode Methods range :: (IOMode, IOMode) -> [IOMode] # index :: (IOMode, IOMode) -> IOMode -> Int # unsafeIndex :: (IOMode, IOMode) -> IOMode -> Int # inRange :: (IOMode, IOMode) -> IOMode -> Bool # rangeSize :: (IOMode, IOMode) -> Int # unsafeRangeSize :: (IOMode, IOMode) -> Int #
Read IOMode | @since base-4.2.0.0
Instance details Defined in GHC.Internal.IO.IOMode Methods readsPrec :: Int -> ReadS IOMode # readList :: ReadS [IOMode] # readPrec :: ReadPrec IOMode # readListPrec :: ReadPrec [IOMode] #
Show IOMode | @since base-4.2.0.0
Instance details Defined in GHC.Internal.IO.IOMode Methods showsPrec :: Int -> IOMode -> ShowS # show :: IOMode -> String # showList :: [IOMode] -> ShowS #
Eq IOMode | @since base-4.2.0.0
Instance details Defined in GHC.Internal.IO.IOMode Methods (==) :: IOMode -> IOMode -> Bool # (/=) :: IOMode -> IOMode -> Bool #
Ord IOMode | @since base-4.2.0.0
Instance details Defined in GHC.Internal.IO.IOMode Methods compare :: IOMode -> IOMode -> Ordering # (<) :: IOMode -> IOMode -> Bool # (<=) :: IOMode -> IOMode -> Bool # (>) :: IOMode -> IOMode -> Bool # (>=) :: IOMode -> IOMode -> Bool # max :: IOMode -> IOMode -> IOMode # min :: IOMode -> IOMode -> IOMode #

openFile :: FilePath -> IOMode -> IO Handle #

list the file name in the given FilePath directory

TODO: error management and not implemented yet getDirectory :: FilePath -> IO [FileName] getDirectory = undefined

Open a new handle on the file

closeFile :: Handle -> IO () #

Close a handle

withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r #

``withFile` filepath mode act` opens a file using the mode`and run act`. the by-product handle will be closed when act finish, either normally or through an exception.

The value returned is the result of act@

hGet :: Handle -> Int -> IO (UArray Word8) #

Read binary data directly from the specified `Handle`.

First argument is the Handle to read from, and the second is the number of bytes to read. It returns the bytes read, up to the specified size, or an empty array if EOF has been reached.

`hGet` is implemented in terms of `hGetBuf`.

hPut :: Handle -> UArray Word8 -> IO () #

readFile :: FilePath -> IO (UArray Word8) #

Read a binary file and return the whole content in one contiguous buffer.