The IOSpec package

[Tags: bsd3, library]

This package consists of several modules, that give a pure specification of functions in the IO monad:

Besides these modules containing the specifications, there are a few other important modules:

There are several well-documented examples included with the source distribution.

[Skip to ReadMe]


Versions0.1, 0.1.1, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.3
Change logNone available
Dependenciesbase (>=2 && <4.5), mtl, QuickCheck (==2.*), Stream [details]
AuthorWouter Swierstra, Yusaku Hashimoto
MaintainerWouter Swierstra <>
Home page
UploadedFri Jan 13 11:14:56 UTC 2012 by WouterSwierstra
DistributionsDebian:0.3, Fedora:0.2.5, LTSHaskell:0.3, NixOS:0.3, Stackage:0.3
Downloads3692 total (138 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees

Readme for IOSpec-0.2.3

IOSpec version 0.2
  Author: Wouter Swierstra <>

IOSpec provides a library containing pure, executable specifications
of a few functions from the IO monad. 

Build instructions:

    $ runhaskell Setup.lhs configure
    $ runhaskell Setup.lhs build
    $ runhaskell Setup.lhs install

for more instructions.


Please have a look at the latest documentation available from:

To build the Haddock API execute the following command:
    $ runhaskell Setup.lhs haddock

This will require Haddock 2.0

Check out the examples directory for the following examples:

    * Echo.hs - illustrates how to test the echo function.
    * Queues.hs - an implementation of queues using IORefs.
    * Channels.hs - an implementation of channels using MVars.
    * Sudoku.hs - a parallel Sudoku solver that uses STM and MVars
         based on Graham Hutton's version of Richard Bird's "Solving Sudoku".

Every example contains quite some comments, explaining how to use
the library.