QuickCheck
hedgehog
QuickCheck | hedgehog | |
---|---|---|
2 | 5 | |
753 | 687 | |
0.8% | 0.1% | |
4.4 | 5.9 | |
2 days ago | 3 months ago | |
Haskell | Haskell | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
QuickCheck
-
What Are the Best Haskell Libraries in 2025?
Website: QuickCheck GitHub
-
Ask HN: Is writing a math proof like programming without ever running your code?
Quickcheck is a Haskell testing library which allows the programmer to write propositions about how a function should behave, and the library will try to find cases which falsify the proposition.
If my understanding is correct, it can't "prove" any properties, only disprove them.
For concretely proving properties of a program, you would need something like Idris's dependent type system, where you can prove that a function always returns a sorted list, for example.
https://github.com/nick8325/quickcheck
hedgehog
-
The sad state of property-based testing libraries
> - rose tree "integrated shrinking" (eg. Hedgehog) follows the constraints of the generators, but has issues with monadic bind.
We're at the limits of my amateur knowledge, but I believe this is a fundamental limitation of monadic bind/generators. Instead, you should prefer applicative generators for ideal shrinking. https://github.com/hedgehogqa/haskell-hedgehog/issues/473#is...
In other words, applicative generators do not use "results of generators to dispatch to another generator", but instead shrinking is optimal due to the "parallel" nature of applicatives (I'm using "parallel" in the monadic sense, and not the sense of article's "threading" sense).
-
Monthly Hask Anything (May 2022)
I've had some PRs open on hedgehog for one and two months respectively. It looks like the maintainer isn't currently very active, which is fair enough. This isn't about criticizing him, and I'm not trying to take over the repo.
-
Monthly Hask Anything (February 2022)
Testing libraries like hedgehog often run tests in parallel, so you may find related issues to work on.
-
Mutation Testing
Haskell has QuickCheck and Hedgehog, and dotnet has both as well. F# is favored, but there's C# interop.
What are some alternatives?
hspec - A Testing Framework for Haskell
tasty - Modern and extensible testing framework for Haskell
HUnit - A unit testing framework for Haskell
ghc-prof-flamegraph
hspec-wai - Helpers to test WAI applications with Hspec
smallcheck - Test your Haskell code by exhaustively checking its properties