
I think the best solution here would be a new warning, say -fwarn-wildcard-patterns. This would be a simple syntactic check for a wildcard pattern anywhere in the module. Combined with -Werror you would be prevented from compiling programs with wildcards. I think this would be quite valuable given the rest of the comments in the thread, and probably a simple addition to GHC. Eric
On Jan 30, 2017, at 20:59, Saurabh Nanda
wrote: I would want the compiler (or linter) to help me here. Think if a mid-to-large team where everyone may not know (or remember) what the current best practices are.
On 31 Jan 2017 9:51 am, "Michael Orlitzky"
wrote: On 01/30/2017 09:47 PM, Saurabh Nanda wrote: Hi,
If I have the following ADT
data BookingState = Confirmed | Cancelled
which had a very high chance of being expanded in the future to have more values. How do I ensure that every pattern match on BookingState matches each value explicitly. Basically prevent the '_' matcher ?
Don't write the "_" case? GHC will warn you about any pattern matches you've missed.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.