IOSpec: A pure specification of the IO monad.

[ bsd3, library, testing ] [ Propose Tags ]

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]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 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.2
Dependencies base (>=4.8.0.0 && <5), mtl (<2.3), QuickCheck (>=2 && <3), Stream (<1) [details]
License BSD-3-Clause
Author Wouter Swierstra, Yusaku Hashimoto, Nikolay Amiantov, Bertram Felgenhauer
Maintainer Bertram Felgenhauer <int-e@gmx.de>
Revised Revision 1 made by BertramFelgenhauer at 2023-07-25T20:33:22Z
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:43:22Z
Distributions Arch:0.3.1.2, Debian:0.3.1.1, Fedora:0.3.1.1, NixOS:0.3.1.2
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 13357 total (49 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-12-28 [all 1 reports]

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.