IOSpec: A pure specification of the IO monad.

[ bsd3, library, testing ] [ Propose Tags ] [ Report a vulnerability ]

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

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>
Category Testing
Home page https://github.com/lambdabot/IOSpec
Source repo head: git clone https://github.com/lambdabot/IOSpec
Uploaded by BertramFelgenhauer at 2023-07-25T20:29:31Z
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 13762 total (37 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 2023-07-25 [all 1 reports]

Readme for IOSpec-0.3.1.2

[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.