# Blog articles/Testing

### From HaskellWiki

< Blog articles(Difference between revisions)

DonStewart (Talk | contribs) (→QuickCheck) |
DonStewart (Talk | contribs) (→Coq) |
||

Line 31: | Line 31: | ||

* [http://www.rubrication.net/2007/04/24/strong-specifications/ Strong specifications in Coq: the type says everything] | * [http://www.rubrication.net/2007/04/24/strong-specifications/ Strong specifications in Coq: the type says everything] | ||

+ | |||

+ | === Isabelle=== | ||

+ | |||

+ | * [http://users.lava.net/~newsham/formal/reverse/ Proving Haskell correct with Isabelle/HOL] | ||

+ | |||

+ | === Related work === | ||

+ | |||

+ | * See the section on [[Blog_articles/Comparisons#Theorem_provers|theorem provers]] | ||

== Further reading == | == Further reading == | ||

* [http://haskell.org/haskellwiki/Research_papers/Testing_and_correctness Research papers on testing, proofs and correctness] | * [http://haskell.org/haskellwiki/Research_papers/Testing_and_correctness Research papers on testing, proofs and correctness] |

## Revision as of 16:57, 23 September 2007

## Contents |

## 1 Type checking for correctness

## 2 Testing, correctness and proofs

### 2.1 QuickCheck

- Introduction to QuickCheck
- QuickChecking a window manager
- Robustness and QuickCheck
- Parsec Parser Testing with QuickCheck
- QuickCheck : Why Testing code should be Laissez-faire

### 2.2 HUnit

### 2.3 Catch

- Does XMonad crash? On proving pattern coverage with Catch
- Preconditions on XMonad
- Equational Reasoning in Haskell

## 3 Proofs

### 3.1 GADTs

### 3.2 Coq

### 3.3 Isabelle

### 3.4 Related work

- See the section on theorem provers