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.
[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 |
|---|---|
| Change log | None available |
| Dependencies | base (>=4.8.0.0 && <5), mtl, QuickCheck (==2.*), Stream [details] |
| License | BSD3 |
| Author | Wouter Swierstra, Yusaku Hashimoto, Nikolay Amiantov |
| Maintainer | Wouter Swierstra <wouter.swierstra@gmail.com> |
| Category | Testing |
| Uploaded | Tue Apr 21 14:57:02 UTC 2015 by WouterSwierstra |
| Distributions | Debian:0.2.5, Fedora:0.2.5, NixOS:0.3, Stackage:0.3 |
| Downloads | 3349 total (123 in last 30 days) |
| Votes | |
| Status | Docs not available [build log] All reported builds failed as of 2015-05-18 [all 2 reports] |
Modules
- Test
- Test.IOSpec
- Test.IOSpec.Fork
- Test.IOSpec.IORef
- Test.IOSpec.MVar
- Test.IOSpec.STM
- Test.IOSpec.Surrogate
- Test.IOSpec.Teletype
- Test.IOSpec.Types
- Test.IOSpec.VirtualMachine
- Test.IOSpec
Downloads
- IOSpec-0.3.tar.gz [browse] (Cabal source package)
- Package description (included in the package)
Maintainers' corner
For package maintainers and hackage trustees