GADTs Meet Their Match: Pattern-Matching Warnings That Account for GADTs, Guards, and Laziness

Lambda the Ultimate - Programming Languages Weblog 2015-10-13

Summary:

GADTs Meet Their Match: Pattern-Matching Warnings That Account for GADTs, Guards, and Laziness by Georgios Karachalias, Tom Schrijvers, Dimitrios Vytiniotis, Simon Peyton Jones:

For ML and Haskell, accurate warnings when a function definition has redundant or missing patterns are mission critical. But today’s compilers generate bogus warnings when the programmer uses guards (even simple ones), GADTs, pattern guards, or view patterns. We give the first algorithm that handles all these cases in a single, uniform framework, together with an implementation in GHC, and evidence of its utility in practice.

Another great paper on a very useful incremental improvement on GADTs as found in Haskell, OCaml and Idris. Exhaustiveness checking is critical for a type system's effectiveness, and the redundant matching warnings are a nice bonus.

Link:

http://lambda-the-ultimate.org/node/5261

From feeds:

Gudgeon and gist » Lambda the Ultimate - Programming Languages Weblog

Tags:

admin

Date tagged:

10/13/2015, 18:13

Date published:

10/09/2015, 22:37