IOSpec: A pure specification of the IO monad.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

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]

Properties

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, 0.3.1, 0.3.1.1, 0.3.1.1
Change logNone available
Dependenciesbase (>=4.8.0.0 && <5), mtl, QuickCheck (==2.*), Stream [details]
LicenseBSD-3-Clause
AuthorWouter Swierstra, Yusaku Hashimoto, Nikolay Amiantov, Bertram Felgenhauer
MaintainerBertram Felgenhauer <int-e@gmx.de>
CategoryTesting
Home pagehttps://github.com/lambdabot/IOSpec
Source repositoryhead: git clone https://github.com/lambdabot/IOSpec
UploadedFri Dec 28 21:31:01 UTC 2018 by BertramFelgenhauer

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for IOSpec-0.3.1.1

[back to package description]
IOSpec version 0.3.1.1
  Author: Wouter Swierstra <w.s.swierstra@uu.nl>
  Maintainer: Bertram Felgenhauer <int-e@gmx.de>

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 further instructions, see:
    https://www.haskell.org/cabal/users-guide/installing-packages.html#building-and-installing-packages

Documentation:

Please have a look at the latest documentation available from:
    https://hackage.haskell.org/package/IOSpec

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.