# Difference between revisions of "Blog articles/Testing"

From HaskellWiki

DonStewart (talk | contribs) (→Type checking for correctness) |
DonStewart (talk | contribs) (→Coq) |
||

Line 32: | Line 32: | ||

* [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] | ||

+ | * Proving the monad laws in Coq | ||

+ | ** [http://sequence.complete.org/node/358 Introduction] | ||

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

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

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

## Revision as of 00:30, 24 September 2007

## Contents

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

### HUnit

### Catch

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

## Proofs

### GADTs

### Coq

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

### Isabelle

### Related work

- See the section on theorem provers