Package maintainers and Hackage trustees are allowed to edit certain bits
of package metadata after a release, without uploading a new tarball.
Note that the tarball itself is never changed, just the metadata that is
stored separately. For more information about metadata revisions, please
refer to the
Hackage Metadata Revisions FAQ.
No. |
Time |
User |
SHA256 |
-r1 (target-0.1.3.0-r1) |
2015-08-10T19:31:41Z |
EricSeidel |
173753da5f21d9f9d164cc546890e9ad602e339ed99351863ad1ba5df9489fb3
|
|
Changed description
from 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@.
to 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://ucsd-progsys.github.io/liquidhaskell-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@.
|
-r0 (target-0.1.3.0-r0) |
2015-05-23T04:57:51Z |
EricSeidel |
22bca8e55ce837f6e8d63d4581780ddecaf68279dbf8908eec915259a6f8bfca
|
|
|