The latest version of quickspec is 2.2-0.

quickspec

Version 0.9.5 revision 0 uploaded by NickSmallbone.

Package meta

Synopsis
Equational laws for free
Description

QuickSpec automatically finds equational properties of your program.

Give it an API, i.e. a collection of functions, and it will spit out equations about those functions. For example, given reverse, ++ and [], QuickSpec finds six laws:

xs++[] == xs
[]++xs == xs
reverse [] == []
(xs++ys)++zs == xs++(ys++zs)
reverse (reverse xs) == xs
reverse xs++reverse ys == reverse (ys++xs)

All you have to provide is:

  • Some functions and constants to test. These are the only functions that will appear in the equations.

  • A collection of variables that can appear in the equations (xs, ys and zs in the example above).

  • Test.QuickCheck.Arbitrary and Data.Typeable.Typeable instances for the types you want to test.

Consider this a pre-release. Everything is complete but undocumented :) The best place to start is the examples at http://github.com/nick8325/quickspec/tree/master/examples. There is also a paper at http://www.cse.chalmers.se/~nicsma/quickspec.pdf. Everything you need should be in the module Test.QuickSpec.

If you want help, email me!

Author
Nick Smallbone
Bug reports
n/a
Category
Testing
Copyright
2009-2013 Nick Smallbone
Homepage
https://github.com/nick8325/quickspec
Maintainer
nicsma@chalmers.se
Package URL
n/a
Stability
n/a

Components