IO -base
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.
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
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
This package consists of several modules, that give a pure specification of functions in the IO monad:
* Test.IOSpec.Fork: a pure specification of forkIO.
* Test.IOSpec.IORef: a pure specification of most functions that create and manipulate on IORefs.
* Test.IOSpec.MVar: a pure specification of most functions that create and manipulate and MVars.
* Test.IOSpec.STM: a pure specification of atomically and the STM monad.
* Test.IOSpec.Teletype: a pure specification of getChar, putChar, and several related Prelude functions.
Besides these modules containing the specifications, there are a few other important modules:
* Test.IOSpec.Types: defines the IOSpec type and several amenities.
* Test.IOSpec.VirtualMachine: defines a virtual machine on which to execute pure specifications.
* Test.IOSpec.Surrogate: a drop-in replacement for the other modules. Import this and recompile your code once you've finished testing and debugging.
There are several well-documented examples included with the source distribution.
Version 0.2.5
Mutable, unboxed, strict arrays 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. Only certain element types are supported: see Data.Array.MArray for a list of instances.
POSIX IO support. These types and functions correspond to the unix functions open(2), close(2), etc. For more portable functions which are more like fopen(3) and friends from stdio.h, see System.IO.
This package provides efficient conversion routines between a range of array types and Accelerate arrays.
Version 0.12.0.0
Show more results