Should exhaustiveness testing be on by default?
Peter Hercek
phercek at gmail.com
Wed May 20 06:27:46 EDT 2009
I was looking for something which works in optimized builds too.
I know I could do it with preprocessor or (I think) template haskell too
but these tools seem to heavy for such a simple goal.
The point is the exhaustiveness check saves me from some errors
sometimes, but I often need to switch it off for a specific case
statement too. Adding an catch all alternative and an error call would
be cool way to do it if there is a way to automatically add source code
location. This way I could get the best error telling me where it
happend and also why I thought the other alternatives should not happen
(the error call argument).
Thanks,
Peter.
Simon Peyton-Jones wrote:
> Yes indeed
> http://www.haskell.org/ghc/docs/latest/html/users_guide/assertions.html
>
> Simon
>
> | -----Original Message-----
> | From: glasgow-haskell-users-bounces at haskell.org [mailto:glasgow-haskell-users-
> | bounces at haskell.org] On Behalf Of Peter Hercek
> | Sent: 18 May 2009 10:46
> | To: glasgow-haskell-users at haskell.org
> | Subject: Re: Should exhaustiveness testing be on by default?
> |
> | Neil Mitchell wrote:
> | > I'm not a particular fan of exhaustiveness checking. It just
> | > encourages people to write:
> | >
> | > foo (Just 1) [x:xs] = important case
> | > foo _ _ = error "doh!"
> | >
> | > So now when the program crashes, instead of getting a precise and
> | > guaranteed correct error message, I get "doh!" - not particularly
> | > helpful for debugging
> | Is there some compile option to automatically annotate error call with
> | its source
> | code location (so that one dos not need to mention it in the string
> | argument)?
> |
> | Peter.
> |
> | _______________________________________________
> | Glasgow-haskell-users mailing list
> | Glasgow-haskell-users at haskell.org
> | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>
More information about the Glasgow-haskell-users
mailing list