A Static Checker for Safe Pattern Matching in Haskell

Neil Mitchell, Colin Runciman, Marko van Eekelen

Research output: Contribution to conferencePaper

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.
Original languageUndefined/Unknown
Pages15-30
Publication statusPublished - 2007

Cite this