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] [Publish]

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

Versions 0.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 log None available
Dependencies base (>=4.8.0.0 && <5), mtl, QuickCheck (==2.*), Stream [details]
License BSD-3-Clause
Author Wouter Swierstra, Yusaku Hashimoto, Nikolay Amiantov, Bertram Felgenhauer
Maintainer Bertram Felgenhauer <int-e@gmx.de>
Category Testing
Home page https://github.com/lambdabot/IOSpec
Source repo head: git clone https://github.com/lambdabot/IOSpec
Uploaded by BertramFelgenhauer at 2018-12-28T21:31:01Z

Modules

[Index]

Downloads

Maintainer's 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.