ClassLaws-0.3.0.0: ClassLaws.cabal
-- Initial ClassLaws.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
-- The name of the package.
name: ClassLaws
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.3.0.0
-- A short (one-line) description of the package.
synopsis: Stating and checking laws for type class methods
homepage: http://wiki.portal.chalmers.se/cse/pmwiki.php/FP/ClassLaws
-- A longer description of the package.
description: The specification of a class in Haskell often starts with
stating, in text, the laws that should be satisfied by methods
defined in instances of the class, followed by the type of the
methods of the class. The ClassLaws library is a framework that
supports testing such class laws using QuickCheck. Our framework is
a light-weight class law testing framework, which requires a limited
amount of work per class law, and per datatype for which the class
law is tested. We also show how to test class laws with
partially-defined values. Using partially-defined values, we show
that the standard lazy and strict implementations of the state monad
do not satisfy the expected laws. More information can be found at
http://wiki.portal.chalmers.se/cse/pmwiki.php/FP/ClassLaws
-- The license under which the package is released.
license: BSD3
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: Patrik Jansson and Johan Jeuring
-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer: patrikj@chalmers.se
-- A copyright notice.
-- copyright:
category: Testing
build-type: Simple
-- Constraint on the version of Cabal needed to build this package.
cabal-version: >=1.8
library
-- Modules exported by the library.
exposed-modules:
Test.ClassLaws, Test.ClassLaws.Core, Test.ClassLaws.TestingEquality, Test.ClassLaws.Partial,
Test.ClassLaws.TestingFinFuns,
Test.ClassLaws.TestingDatatypes, Test.ClassLaws.TestingState,
Control.Monad.Laws, Control.Monad.Laws.Instances,
Control.Monad.State.Class.Laws, Control.Monad.State.Class.Laws.Instances,
Data.Monoid.Laws, Data.Monoid.Laws.Instances
-- The Control.Monad and Data.Monoid laws should perhaps be split off
-- Some modules may be made internal
-- Modules included in this library but not exported.
-- other-modules:
-- Test.ClassLaws.Tests,
-- Other library packages from which modules are imported.
build-depends:
base >=4.5 && < 5,
mtl >= 1 && < 3,
QuickCheck >= 2 && < 3,
ChasingBottoms >=1.3 && < 2
-- Directories containing source files.
hs-source-dirs: src