Meetings in Autumn 2007
|Thursday, 06 December||Neil Mitchell: "Detecting Pattern-Match Failures in Haskell"|
|12:15 -- 13:15, CS202J||Abstract: This talk describes an automated analysis of Haskell 98 programs to check statically that, despite the possible use of partial (or non-exhaustive) pattern matching, no pattern-match failure can occur. For example, if head is applied to the empty list, then the program will fail.
The method used is an iterative backward analysis using a novel form of pattern-constraint to represent sets of data values. The analysis is defined for a core first-order language to which Haskell 98 programs are reduced. The resultant tool has been successfully applied to various Haskell programs, including XMonad and HsColour.