| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: ghc-QuickCheck | Distribution: openSUSE Tumbleweed |
| Version: 2.14.2 | Vendor: openSUSE |
| Release: 2.6 | Build date: Fri May 28 13:01:08 2021 |
| Group: Unspecified | Build host: armbuild22 |
| Size: 2015992 | Source RPM: ghc-QuickCheck-2.14.2-2.6.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://hackage.haskell.org/package/QuickCheck | |
| Summary: Automatic testing of Haskell programs | |
QuickCheck is a library for random testing of program properties. The programmer provides a specification of the program, in the form of properties which functions should satisfy, and QuickCheck then tests that the properties hold in a large number of randomly generated cases. Specifications are expressed in Haskell, using combinators provided by QuickCheck. QuickCheck provides combinators to define properties, observe the distribution of test data, and define test data generators. Most of QuickCheck's functionality is exported by the main "Test.QuickCheck" module. The main exception is the monadic property testing library in "Test.QuickCheck.Monadic". If you are new to QuickCheck, you can try looking at the following resources: * The <http://www.cse.chalmers.se/~rjmh/QuickCheck/manual.html official QuickCheck manual>. It's a bit out-of-date in some details and doesn't cover newer QuickCheck features, but is still full of good advice. * <https://begriffs.com/posts/2017-01-14-design-use-quickcheck.html>, a detailed tutorial written by a user of QuickCheck. The <https://hackage.haskell.org/package/quickcheck-instances quickcheck-instances> companion package provides instances for types in Haskell Platform packages at the cost of additional dependencies.
BSD-3-Clause
* Thu Dec 17 2020 Ondřej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
* Sun Nov 15 2020 psimons@suse.com
- Update QuickCheck to version 2.14.2.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/QuickCheck-2.14.2/src/changelog
* Tue Aug 18 2020 Peter Simons <psimons@suse.com>
- Replace %setup -q with the more modern %autosetup macro.
* Mon Jul 06 2020 psimons@suse.com
- Update QuickCheck to version 2.14.1.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/QuickCheck-2.14.1/src/changelog
* Tue Jun 09 2020 psimons@suse.com
- Update QuickCheck to version 2.14.
QuickCheck 2.14 (release 2020-03-28)
* QuickCheck is now much faster at generating test data!
As a result, many properties can now be tested a lot faster;
the examples distributed with QuickCheck run about twice as
fast as before, for example. Of course, your mileage may vary.
The reason for this is that there are now specialised versions
of the 'choose' combinator for various types. These are:
chooseInt, chooseInteger, chooseBoundedIntegral, and chooseEnum.
These combinators are identical to 'choose' but much faster.
All QuickCheck combinators, with the exception of 'choose'
itself, use the new combinators behind the scenes.
You should see a speedup without doing anything, but to get a
further speedup, consider replacing any uses of 'choose' in your
own generators with the new combinators.
We are hoping that future releases of the 'random' library may
speed up 'choose', in which case these combinators may no longer
be needed.
Thanks to Oleg Grenrus for suggesting to bypass 'choose' for
random number generation, and providing the appropriate
primitive in his 'splitmix' random number library.
* Smaller changes and bugfixes:
- RecursivelyShrink and GSubterms are exported from
Test.QuickCheck.Test (thanks to Tom Mortiboy).
- Don't generate invalid unicode characters
(thanks to Boris Stepanov).
- When a call to 'within' fails, include the duration of the
timeout in the failure report (thanks to William Rusnack).
- In Gen, avoid splitting the seed in the implementation of
>>, *> and <- (thanks to David Feuer).
- Fix a couple of bugs with shrinking of floating-point
numbers.
- Export functionMapWith, functionEitherWith and
functionPairWith from Test.QuickCheck.Function
(thanks to Oleg Grenrus).
- Remove redundant RealFloat constraint from
Arbitrary/CoArbitrary instances for Complex
(thanks to Bodigrim).
* Fri Nov 08 2019 Peter Simons <psimons@suse.com>
- Drop obsolete group attributes.
* Mon Jul 01 2019 psimons@suse.com
- Update QuickCheck to version 2.13.2.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/QuickCheck-2.13.2/src/changelog
* Tue Jun 11 2019 Peter Simons <psimons@suse.com>
- Update Cabal file for more accurate build dependencies.
* Sat Mar 30 2019 psimons@suse.com
- Update QuickCheck to version 2.13.1.
QuickCheck 2.13.1 (release 2019-03-29)
* A couple of bug fixes
QuickCheck 2.13 (released 2019-03-26)
* Properties with multiple arguments now shrink better.
Previously, the first argument was shrunk, then the second, and
so on. Now, the arguments are shrunk as a whole, so shrink steps
for different arguments can be interleaved.
* New features:
- New modifiers Negative and NonPositive
- A Testable instance for Maybe prop (where Nothing means 'discard
the test case')
* Dependencies on C code removed:
- Use splitmix instead of tf-random for random number generation
- Remove dependency on 'erf' package
* Small changes:
- Say 'Falsified' instead of 'Falsifiable' when a property fails
* Compatibility improvements:
- Explicitly derive instance Typeable Args
- Lower bound on deepseq
- A script for building Hugs packages
* Wed Oct 10 2018 psimons@suse.com
- Update QuickCheck to version 2.12.6.1.
QuickCheck 2.12.6 (released 2018-10-02)
* Make arbitrarySizedBoundedIntegral handle huge sizes correctly.
* Add changelog for QuickCheck 2.12.5 :)
QuickCheck 2.12.5 (released 2018-09-30)
* Export isSuccess from Test.QuickCheck.
* Export CoArbitrary even when generics are disabled (bugfix).
* Fix bug in shrinkDecimal.
* Include Test.QuickCheck.Gen in exposed modules for Haddock.
QuickCheck 2.12.3, 2.12.4 (released 2018-09-12)
* Shrinking for Float and Decimal now works by reducing the number
of digits in the number. The new function shrinkDecimal
implements this shrinking behaviour.
* Shrinking for Rational now tries to make the numerator and
denominator of the number smaller. Previously it tried to reduce
the magnitude of the number.
QuickCheck 2.12.2 (released 2018-09-10)
* Fix infinite shrinking loop for fractional types.
* Add SortedList modifier.
QuickCheck 2.12.1 (released 2018-09-06)
* Fix bug in 'classify'.
QuickCheck 2.12 (released 2018-09-03)
* Silently breaking changes!
- The Arbitrary instance for Word now generates only small
values, the same as Int
- cover no longer causes a property failure if coverage is
insufficient. It just prints a warning. (But see next item!)
* Overhaul of label/cover family of combinators:
- New property combinator checkCoverage, which checks coverage
requirements in a statistically sound way, and *does* fail if
they are not met.
- Order of arguments to cover swapped, to make it easier to
switch between classify and cover
- New combinators tabulate and coverTable, for reporting test
case distribution more flexibly than label.
- When label is called multiple times in a property, each call
produces a separate table of frequencies.
* New functions:
- (=/=): like (/=), but prints a counterexample
(thanks to tom-bop)
- forAllShow/forAllShrinkShow: quantification using an
explicit show function (thanks to Stevan Andjelkovic)
- forAllBlind/forAllShrinkBlind: quantification without
printing anything
- verboseShrinking: see how a counterexample is shrunk
- labelledExamples: given a property which uses label,
generate an example test case for each label
- idempotentIOProperty: a variant of ioProperty which shrinks
better but only works for idempotent I/O actions
* Other improvements:
- MonadFix Gen instance (thanks to Jon Fowler)
- Rational numbers shrink using continued fractions
(thanks to Justus Sagemüller)
- Function instances for Const, Identity, and the types in
Data.Monoid; instance Functor Fun (thanks to Erik Schnetter
and Xia Li-yao)
- More of Test.QuickCheck.Function is exported from
Test.QuickCheck
- Semantics of .||. changed to improve short-circuiting:
if the left argument's precondition is false, the right
argument is not evaluated and the whole disjunction is
considered to have a false precondition
- Bug fix: suchThatMaybe always increased size to at least 1
* Miscellaneous API changes:
- Result type has changed a bit:
- InsufficientCovered constructor is gone
- Type of labels has changed
- New fields classes, tables
* Wed Jul 18 2018 psimons@suse.com
- Cosmetic: replace tabs with blanks, strip trailing white space,
and update copyright headers with spec-cleaner.
* Mon May 14 2018 psimons@suse.com
- Update QuickCheck to version 2.11.3.
* New features:
- InfiniteList modifier generates infinite lists and shows
only the relevant part.
- applyArbitrary2/3/4 for applying a function to random
arguments.
- Template Haskell function allProperties returns all
properties in a module.
* Applicative Gen instances do less splitting.
* Property now has a Typeable instance.
* (===) now prints correct output when the property is true.
* Test.QuickCheck now exports Fun constructor.
* verboseCheck output is now slightly less confusing.
* Arbitrary instances for Foreign.C.Types are available in more
GHC versions.
* Fixed a bug where withMaxSuccess didn't adjust the allowed
number of discarded tests.
* Remove quadratic behaviour in terminal output.
* New combinators:
- withMaxSuccess sets the maximum number of test cases for a property.
- shrinkMap/shrinkMapBy are helpers for defining shrink functions.
- total checks that a value is non-crashing.
- suchThatMap is similar to 'suchThat'
but takes a Maybe-returning function instead of a predicate.
- getSize returns the current test case size.
* Random strings and characters now include Unicode characters by
default. To generate only ASCII characters, use the new
ASCIIString modifier or arbitraryASCIIChar generator.
The following modifiers and generators also control the
kind of strings generated: UnicodeString, PrintableString,
arbitraryUnicodeChar, arbitraryPrintableChar.
* QuickCheck no longer catches asynchronous exceptions, which
means that pressing ctrl-C will now cancel testing without
printing a counterexample. If you are debugging an infinite loop,
please use the 'within' combinator or 'verboseCheck' instead.
('within' is better as it allows the counterexample to be
shrunk.)
* Much of Test.QuickCheck.Function (showable random functions)
is now exported from Test.QuickCheck.
- Test.QuickCheck.Function now defines functions and
pattern synonyms which simplify testing functions of
more than one argument: apply2, apply3, Fn2, Fn3.
* New typeclasses Arbitrary1 and Arbitrary2 which lift Arbitrary
to unary/binary type constructors, like in Data.Functor.Classes.
* Some Arbitrary instances have been removed: NonEmpty, Natural.
This is because they resulted in a lot of extra dependencies.
You can now find them in the quickcheck-instances package.
Alternatively, use the NonEmptyList and NonNegative modifiers.
* New Arbitrary instances for the following types: Proxy, ExitCode,
WrappedMonad, WrappedArrow, QCGen, and the types in
Foreign.C.Types and Data.Functor.{Product,Compose}.
Also a Function instance for Word.
* The functions in Test.QuickCheck.Monadic which take an argument
of type PropertyM m a now expect that 'a' to be Testable, and test it.
To reduce breakage from this, () is now an instance of Testable which
always succeeds.
- PropertyM now has a MonadFail instance on recent GHCs.
Furthermore, the constraints on some instances were loosened.
* Miscellaneous API changes:
- Result now returns the counterexample as a list of strings.
See the "failingTestCase" field.
- Args now has a `maxShrinks` argument, the maximum number of
shrinks to try before giving up shrinking.
- The 'labels' field of Result now encodes frequencies as Doubles
rather than Ints.
* Bugfixes:
- 'Test.QuickCheck.Function', 'Test.QuickCheck.Poly', and
'Test.QuickCheck.Monadic' are now Safe modules.
- Result.theException and Result.reason were taken from
the pre-shrunk counterexample, not the shrunk one.
- The Testable Property instance improperly used 'again'.
- Gen.>>= is strict in the result of split, fixing a space leak.
- within now gives a better error message on timeout
* Some more examples and links have been added to the documentation.
/usr/lib/ghc-8.10.4/QuickCheck-2.14.2 /usr/lib/ghc-8.10.4/QuickCheck-2.14.2/libHSQuickCheck-2.14.2-ElXqtpnIcB18sIORWrGd9i-ghc8.10.4.so /usr/share/licenses/ghc-QuickCheck /usr/share/licenses/ghc-QuickCheck/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Oct 24 23:22:36 2025