quickspec
Version 0.9 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
andzs
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