Blog articles/Testing
Type system enforcement
Testing, correctness and proofs
QuickCheck
- Introduction to QuickCheck
- QuickChecking a window manager
- Robustness and QuickCheck
- Parsec Parser Testing with QuickCheck
- QuickCheck : Why Testing code should be Laissez-faire
- Calculating the reflect-rotate-translate normal form for an isometry of the plane in Haskell, and verifying it with QuickCheck.
- "Testing Haskell with QuickCheck"
HUnit
- HUnit 1.0 User's Guide
- On Unit Testing and Type Safety
- Getting started with HUnit
- Unit testing with HUnit
Catch
- Does XMonad crash? On proving pattern coverage with Catch
- Preconditions on XMonad
- Equational Reasoning in Haskell
Other
- Up-front Unit Testing in Haskell - an article about unit testing in Haskell using Doctest, Hspec and Cabal
- Code testing in Haskell
Proofs
GADTs
Coq
- Strong specifications in Coq: the type says everything
- Proving the monad laws in Coq
- Strongly Specified Functions
Isabelle
Related work
- See the section on theorem provers