# Blog articles/Testing

### From HaskellWiki

< Blog articles(Difference between revisions)

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

Line 36: | Line 36: | ||

** [http://sequence.complete.org/node/359 The First and Second Laws] | ** [http://sequence.complete.org/node/359 The First and Second Laws] | ||

** [http://sequence.complete.org/node/360 The Third Law] | ** [http://sequence.complete.org/node/360 The Third Law] | ||

+ | * [http://sequence.complete.org/node/363 Strongly Specified Functions] | ||

=== Isabelle=== | === Isabelle=== |

## Revision as of 01:10, 7 November 2007

## Contents |

## 1 Type system enforcement

## 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

- Strong specifications in Coq: the type says everything
- Proving the monad laws in Coq
- Strongly Specified Functions

### 3.3 Isabelle

### 3.4 Related work

- See the section on theorem provers