Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Neil Mitchell - Catch: Case Totality Checker for Haskell
[go: Go Back, main page]

Catch: Case Totality Checker for Haskell

This is my primary PhD topic. An initial version was presented at TFP 2005.

Abstract

A Haskell program may fail at runtime with a pattern-match error if the program has any incomplete (non-exhaustive) patterns in definitions or case alternatives. This paper describes a static checker that allows non-exhaustive patterns to exist, yet ensures that a pattern-match error does not occur. It describes a constraint language that can be used to reason about pattern matches, along with mechanisms to propagate these constraints between program components. The checker can handle some higher-order functions.

Users

Checked by Catch! The following programs and libraries have all had some of their source code verified by Catch. If you verify a released Haskell project with Catch, please let me know your experiences. To indicate that you have taken the time to ensure pattern match safety, you may use the following "Checked with Catch" logo.

Credits

The name is courtesy of Mike Dodds.

Related work

Downloads

Tags: haskell phd research yhc program popular released