[mercury-users] [annc] qcheck2 now available at logicaltypes.com

doug.auclair at logicaltypes.com doug.auclair at logicaltypes.com
Sun May 14 15:04:12 AEST 2006

Dear all,

I've done a complete rewrite of qcheck as I needed several
features I couldn't get from the original.  The essence
of testing is unchanged in the new version, but, operationally,
the new system is very different:

1. The state variable is no longer io.state; it now carries
around a user-specified RNG as well as the accumulated 
test results.
2. The RNG is typeclassed and further wrapped in a type that
carries the current ranges of ints, floats and the char-type
(I find this simplifies dynamic control over the RNG).
3. I've left reporting results completely to the user, but
have also added two modules for reporting (BTW, the test
description type is now generalized from type string to
a universally quantified generic type).
4. I've added a new program, qcpt (QuickCheck Predicate Types),
to model the entire program being tested (which I've currently
limitted to the interface predicates and functions) ... the
reporting facility can report on the completeness of testing.
5. I've broken apart the original qcheck module into 5 or so
sub-modules along functional lines.

The system is available with a small sample at

Currently I only have a shread of documentation at

so this email is for those enterprising few who wish to explore
this system for comprehensive unit testing without much guidance.
For those happy with the original qcheck (a very fine system),
I will also write a transition guide, should they be curious about
this new version.

qcheck2 is announced at http://www.logicaltypes.com, news item

Doug Auclair

mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list