A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2021; you can also visit the original URL.
The file type is application/pdf
.
GADTs meet their match: pattern-matching warnings that account for GADTs, guards, and laziness
2015
Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming - ICFP 2015
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. There is quite a bit of related work, which we discuss in Section 8.
doi:10.1145/2784731.2784748
dblp:conf/icfp/KarachaliasSVJ15
fatcat:wfegjb7ibjg4bdu34dumfkemkm