quickspec: Equational laws for free

[ bsd3, library, testing ] [ Propose Tags ]

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:

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!

[Skip to Readme]
Versions 0.9, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 2, 2.1
Dependencies array, base (<5), containers, ghc-prim, mtl, QuickCheck, random, spoon (>=0.2), transformers [details]
License BSD-3-Clause
Copyright 2009-2013 Nick Smallbone
Author Nick Smallbone
Maintainer nicsma@chalmers.se
Category Testing
Home page https://github.com/nick8325/quickspec
Source repo head: git clone git://github.com/nick8325/quickspec.git -b master
Uploaded by NickSmallbone at Tue Feb 19 17:59:48 UTC 2013
Distributions NixOS:2.1
Downloads 3061 total (33 in the last 30 days)
Rating 1.75 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for quickspec-0.9

[back to package description]
cabal install and look at the examples directory.