Name: quickspec Version: 0.9.5 Cabal-version: >=1.6 Build-type: Simple Homepage: https://github.com/nick8325/quickspec Author: Nick Smallbone Maintainer: nicsma@chalmers.se License: BSD3 License-file: LICENSE Copyright: 2009-2013 Nick Smallbone Category: Testing 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 . There is also a paper at . Everything you need should be in the module "Test.QuickSpec". . If you want help, email me! Extra-source-files: README examples/Arith.hs examples/Bools.hs examples/Composition.hs examples/Heaps.hs examples/Lists.hs examples/TinyWM.hs src/Test/QuickSpec/errors.h source-repository head type: git location: git://github.com/nick8325/quickspec.git branch: master library hs-source-dirs: src include-dirs: src/Test/QuickSpec/ Exposed-modules: Test.QuickSpec, Test.QuickSpec.Main, Test.QuickSpec.Signature, Test.QuickSpec.Prelude, Test.QuickSpec.Term, Test.QuickSpec.Equation, Test.QuickSpec.Generate, Test.QuickSpec.TestTree, Test.QuickSpec.Reasoning.UnionFind, Test.QuickSpec.Reasoning.CongruenceClosure, Test.QuickSpec.Reasoning.NaiveEquationalReasoning, Test.QuickSpec.Reasoning.PartialEquationalReasoning, Test.QuickSpec.TestTotality, Test.QuickSpec.Utils, Test.QuickSpec.Utils.Typeable, Test.QuickSpec.Utils.Typed, Test.QuickSpec.Utils.TypeMap, Test.QuickSpec.Utils.TypeRel, Test.QuickSpec.Approximate Other-modules: -- Dangerous! Test.QuickSpec.Utils.MemoValuation Build-depends: base < 5, containers, transformers, QuickCheck >= 2.7, random, spoon >= 0.2, array, ghc-prim, mtl