Introduce negative patterns for literals (addresses #11303)
authorGeorge Karachalias <george.karachalias@gmail.com>
Tue, 29 Dec 2015 17:16:38 +0000 (18:16 +0100)
committerBen Gamari <ben@smart-cactus.org>
Tue, 29 Dec 2015 17:43:51 +0000 (18:43 +0100)
commitfcc76493c8b35001fc1b22738cc64ff9506e278a
tree4290c38c0335a5ef9127514dffc83c17796acacc
parentdf6cb57b32d94b7f6f7c9a86207adfeee9712ed6
Introduce negative patterns for literals (addresses #11303)

Introduce negative patterns for literals. In addition to storing term
constraints for literals (checked at the end by the term oracle), also
check eagerly, using negative patterns. This means generation of smaller
sets (covered, uncovered, and divergent), instead of generating big sets
and pruning afterwards.

Test Plan: validate

Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1716

GHC Trac Issues: #11303
compiler/deSugar/Check.hs