quickspec: Equational laws for free!

[ bsd3, library, testing ] [ Propose Tags ]

QuickSpec automatically finds equational laws about 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, which are exactly the ones you might write by hand:

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

The laws that QuickSpec generates are not proved correct, but have passed at least 200 QuickCheck tests.

For more information, see the README file at https:/github.comnick8325quickspecblobmasterREADME.asciidoc.

Versions [faq] 0.9, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 2, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5
Dependencies array, base (<5), containers, ghc-prim, QuickCheck (>=2.7), 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 2014-08-26T11:35:30Z
Distributions NixOS:2.1.5
Downloads 7760 total (29 in the last 30 days)
Rating 1.75 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees