[Haskell] ANN: IOSpec 0.1

Wouter Swierstra wss at Cs.Nott.AC.UK
Mon Apr 23 11:16:56 EDT 2007

* If you're an ICFP referee, you may want to avoid reading any further*

			Test.IOSpec	Version 1.0

I'm pleased to announce the first release of the Test.IOSpec library,  
that provides a pure specification of some functions in the IO monad.  
This may be of interest to anyone who wants to debug, reason about,  
analyse, or test impure code.

Essentially, by importing libraries from IOSpec you can the same code  
you would normally write in the IO monad. Once you're satisfied that  
your functions are reasonably well-behaved, you can remove the  
Test.IOSpec import and replace it with the "real" functions instead.

   Website: www.cs.nott.ac.uk/~wss/repos/IOSpec
   Darcs: darcs get www.cs.nott.ac.uk/~wss/repos/IOSpec
   Tarball: www.cs.nott.ac.uk/~wss/repos/IOSpec/dist/IOSpec-0.1.tar.gz
   Haddock: www.cs.nott.ac.uk/~wss/repos/IOSpec/dist/doc/html

Several examples are included with the sources.

At the moment, the library consists of the following modules:

   * Test.IOSpec.Teletype: a specification of getChar and putChar.
   * Test.IOSpec.IORef: a specification of most functions on IORefs.
   * Test.IOSpec.Concurrent: specification of forkIO and MVars.

As an added feature, running concurrent code using  
Test.IOSpec.Concurrent will detect deadlocks, instead of looping  

Future work includes:

   * Improving the interface, making it easier to combine functions  
from different modules.
   * Adding more functionality: STM and weak pointers seem likely  

If you have any questions, comments, or feedback, please do get in  


This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.

More information about the Haskell mailing list