IO
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.
Mutable references in the IO monad.
Callback invoked on I/O events.
An abstract type that contains a value for each variant of IOError.
These are the standard IO exceptions generated by Haskell's IO operations. See also System.IO.Error.
Exceptions that occur in the IO monad. An IOException records a more specific error type, a descriptive string and maybe the handle that was used when the error was flagged.
See System.IO.openFile
A mutable variable in the IO monad
The standard IO library.
Mutable boxed and unboxed arrays in the IO monad.
Static IOArray-based Graphs
Efficient locale-sensitive support for text I/O.
Skip past the synopsis for some important notes on performance and portability across different versions of GHC.
Efficient locale-sensitive support for lazy text I/O.
Skip past the synopsis for some important notes on performance and portability across different versions of GHC.
Basic concurrency stuff.
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
An API for generating reactive objects, as used in the TIMBER programming language.
Version 0.1.1
This library allows an application to extend the 'global state' hidden inside the IO monad with semi-arbitrary data. Data is required to be Typeable. The library provides an essentially unbounded number of key-value stores indexed by strings, with each key within the stores also being a string.
Version 0.3
An IOArray is a mutable, boxed, non-strict array in the IO monad. The type arguments are as follows:
* i: the index type of the array (should be an instance of Ix)
* e: the element type of the array.
Package allowing type-safe I/O control
Version 0.0.1
I/O operations required for implementing a Handle.
Type of a device that can be used to back a GHC.IO.Handle.Handle (see also GHC.IO.Handle.mkFileHandle). The standard libraries provide creation of GHC.IO.Handle.Handles via Posix file operations with file descriptors (see GHC.IO.Handle.FD.mkHandleFromFD) with FD being the underlying IODevice instance.
Users may provide custom instances of IODevice which are expected to conform the following rules:
IOR monad is a wrapper around IO that allows region based resource management.
Version 0.1
After GHC 7.2 a new `casMutVar#` primop became available, but was not yet exposed in Data.IORef. This package fills that gap until such a time as Data.IORef obsoletes it.
Further, in addition to exposing native Haskell CAS operations, this package contains "mockups" that imititate the same functionality using either atomicModifyIORef and unsafe pointer equality (in Data.CAS.Fake) or using foreign functions (Data.CAS.Foreign). These alternatives are useful for debugging.
Note that the foreign option does not operate on IORefs and so is directly interchangeable with `Data.CAS` and `Data.CAS.Fake` only if the interface in `Data.CAS.Class` is used.
Version 0.2
Show more results