name: target version: 0.2.0.1 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 as well as an . Target uses the same specification language as LiquidHaskell, so the examples should carry over. . Finally, Target requires either (@>=4.3@) or (@>=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 -fno-warn-unused-imports -fno-warn-dodgy-imports -fno-warn-deprecated-flags -fno-warn-deprecations 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.4 , liquidhaskell >= 0.5 , mtl >= 2.1.2 , pretty , process , syb >= 0.4.2 , tagged >= 0.7 , template-haskell >= 2.8 , text >= 1.0 , text-format , th-lift , transformers >= 0.3 , unordered-containers >= 0.2.3.0 , vector -- only for the `monomorphic` TH splice , QuickCheck >= 2.7 benchmark bench type: exitcode-stdio-1.0 default-language: Haskell2010 hs-source-dirs: bench ghc-options: -O2 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, 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 other-modules: Expr, HOFs, List, Map, MapTest, RBTree, RBTreeTest --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 target default-language: Haskell2010 hs-source-dirs: bin main-is: Target.hs build-depends: base, hint, target