
It 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.
this package provides a library for the haskell programming language. see http://www.haskell.org/ for more information on haskell.