The IOSpec package
This package consists of several modules, that give a pure specification of functions in the IO monad:
Test.IOSpec.Fork: a pure specification of forkIO.
Test.IOSpec.IORef: a pure specification of most functions that create and manipulate on IORefs.
Test.IOSpec.MVar: a pure specification of most functions that create and manipulate and MVars.
Test.IOSpec.STM: a pure specification of atomically and the STM monad.
Test.IOSpec.Teletype: a pure specification of getChar, putChar, and several related Prelude functions.
Besides these modules containing the specifications, there are a few other important modules:
Test.IOSpec.Types: defines the IOSpec type and several amenities.
Test.IOSpec.VirtualMachine: defines a virtual machine on which to execute pure specifications.
Test.IOSpec.Surrogate: a drop-in replacement for the other modules. Import this and recompile your code once you've finished testing and debugging.
There are several well-documented examples included with the source distribution.
Properties
| Versions | 0.1, 0.1.1, 0.2, 0.2.1, 0.2.2, 0.2.3 |
|---|---|
| Dependencies | base, mtl, QuickCheck (<2.0), Stream |
| License | BSD3 |
| Author | Wouter Swierstra |
| Maintainer | Wouter Swierstra <wss@cs.nott.ac.uk> |
| Category | Testing |
| Home page | http://www.cs.nott.ac.uk/~wss/repos/IOSpec |
| Upload date | Tue Feb 5 14:06:34 UTC 2008 |
| Uploaded by | WouterSwierstra |
| Built on | ghc-6.10, ghc-6.8 |
| Build failure | ghc-6.12 (log) |
| Distributions | Debian: 0.2.2 |
Modules
Downloads
- IOSpec-0.2.tar.gz (Cabal source package)
- package description (included in the package)