Should exhaustiveness testing be on by default?

Simon Marlow marlowsd at gmail.com
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.
>>
>> http://ocaml.janestreet.com/?q=node/64
>>
>> 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.

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list