target-0.1.0.0: target.cabal
name: target
version: 0.1.0.0
synopsis: Generate test-suites from refinement types.
description: Target is a library for testing Haskell functions based on
properties encoded as refinement types.
.
The programmer specifies the expected behavior of a
function with a refinement type, and Target then checks
that the function satisfies the specification by
enumerating valid inputs up to some size, calling the
function, and validating the output. Target excels when the
space of valid inputs is a sparse subset of all possible
inputs, e.g. when dealing with dataypes with complex
invariants like red-black trees.
.
"Test.Target" is the main entry point and should contain
everything you need to use Target with types from the
"Prelude". "Test.Target.Targetable" will also be useful if
you want to test functions that use other types.
.
For information on how to /specify/ interesting properties
with refinement types, we have a series of
<http://goto.ucsd.edu/~rjhala/liquid/haskell/blog/blog/categories/basic/ blog posts>
as well as an
<http://github.com/ucsd-progsys/liquidhaskell/tree/master/docs/tutorial evolving tutorial>.
Target uses the same specification language as LiquidHaskell,
so the examples should carry over.
.
Finally, Target requires either <https://z3.codeplex.com/ Z3>
(@>=4.3@) or <http://cvc4.cs.nyu.edu/web/ CVC4> (@>=1.4@) to
be present in your @PATH@.
license: MIT
license-file: LICENSE
author: Eric Seidel
maintainer: eseidel@cs.ucsd.edu
category: Testing
build-type: Simple
cabal-version: >=1.10
source-repository head
type: git
location: git://github.com/gridaphobe/target.git
library
default-language: Haskell2010
hs-source-dirs: src
ghc-options: -Wall -fno-warn-name-shadowing -fno-warn-orphans
ghc-prof-options: -fprof-auto
exposed-modules: Test.Target,
Test.Target.Eval,
Test.Target.Expr,
Test.Target.Monad,
Test.Target.Targetable,
Test.Target.Targetable.Function,
Test.Target.Testable,
Test.Target.Types,
Test.Target.Util
build-depends: base >=4.6 && <5
, containers >= 0.5.0.0
, directory >= 1.2.0.1
, exceptions >= 0.6
, filepath >= 1.3.0.1
, ghc >= 7.8.3
, ghc-paths
, liquid-fixpoint >= 0.2.1.1
, liquidhaskell >= 0.2
, mtl >= 2.1.2
, pretty
, process
, syb >= 0.4.2
, tagged >= 0.7
, template-haskell
, text >= 1.0
, text-format
, transformers >= 0.3
, unordered-containers >= 0.2.3.0
, vector
benchmark bench
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: bench
ghc-options: -O2
ghc-prof-options: -fprof-auto
main-is: Main.hs
build-depends: base,
aeson,
bytestring,
cassava,
SafeSemaphore,
vector,
xml-conduit,
data-timeout >= 0.3,
-- for XMonad
-- X11,
containers,
random,
tagged,
ghc,
unordered-containers,
mtl,
-- for Data.Map
deepseq,
--
--criterion,
--hastache,
--statistics,
time,
target,
template-haskell,
liquidhaskell >= 0.2,
liquid-fixpoint,
QuickCheck >= 2.6,
smallcheck >= 1.1
test-suite test
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: test
ghc-options: -O2
main-is: Main.hs
c-sources: cbits/fpstring.c
include-dirs: include
includes: fpstring.h
build-depends: base,
target,
ghc,
tasty >= 0.8,
tasty-hunit >= 0.8,
-- for Data.Map
containers,
deepseq,
-- for ByteString
array,
tagged,
mtl,
ghc-prim,
liquid-fixpoint,
liquidhaskell,
template-haskell,
unordered-containers
-- executable liquid-check
-- default-language: Haskell2010
-- hs-source-dirs: bin
-- main-is: Target.hs
-- build-depends: base,
-- Target,
-- liquid-fixpoint,
-- data-timeout >= 0.3,
-- ghc,
-- ghc-paths,
-- directory,
-- filepath,
-- process,
-- text,
-- time,
-- transformers