IO +System
A value of type IO a is a computation which, when performed, does some I/O before returning a value of type a.
There is really only one way to "perform" an I/O action: bind it to Main.main in your program. When your program is run, the I/O will be performed. It isn't possible to perform I/O from an arbitrary function, unless that function is itself in the IO monad and called at some point, directly or indirectly, from Main.main.
IO is a monad, so IO actions can be combined using either the do-notation or the >> and >>= operations from the Monad class.
The Haskell 98 type for exceptions in the IO monad. Any I/O operation may raise an IOError instead of returning a result. For a more general type of exception, including also those that arise in pure code, see Control.Exception.Exception.
In Haskell 98, this is an opaque type.
Callback invoked on I/O events.
An abstract type that contains a value for each variant of IOError.
See System.IO.openFile
The standard IO library.
capture IO action's stdout and stderr
Version 0.3
Choice for IO and lifted IO
Version 0.0.1
Transform an IO action into a similar IO action that performs the original action only once.
You can choose to perform the original action in one of three ways:
* lazily (might never be performed)
* eagerly
* concurrently (eager)
Special thanks to shachaf and headprogrammingczar from #haskell irc for helping me reason about the behavior of this library.
Version 1.0.0.0
Show more results