Should exhaustiveness testing be on by default?

Simon Marlow marlowsd at
Mon May 18 07:23:37 EDT 2009

On 18/05/2009 12:06, Claus Reinke wrote:
>> I'm not sure I'd want -Wall on by default (though being -Wall clean is
>> very good). But exhaustive pattern checking might well help out a lot of
>> people coming from untyped backgrounds.
>> Ron's also wondering why exhaustive pattern checking isn't on ?
>> Anyone know why it isn't the default?
> The answer to the latter is probably just that it is imprecise. Don't
> read on if that's all you wanted to hear;-)

Two^HThree^HFour reasons really:

  1. it's not very good (as Lennart pointed out)
  1.1 it's not possible to make it accurate in general (as you point out)
  1.1.1. it's not possible to disable it per-definition

  2. not everyone wants it (as Neil pointed out)

actually reason (2) is the guiding principle we use for whether a 
warning should be on by default or not.  If there's a clear concensus 
for having a warning on, then we're more than happy to turn it on.


More information about the Glasgow-haskell-users mailing list