19 Jul 2012 12:50
Why GHC doesn't warn about LHS nullary-constructor pattern bindings?
Herbert Valerio Riedel <hvr <at> gnu.org>
2012-07-19 10:50:02 GMT
2012-07-19 10:50:02 GMT
Hello,
Recently, I was a bit suprised that GHC didn't warn about useless
`where` definitions such as the following when using `-Wall` (and I
couldn't find a respective warning GHC CLI flag which would have enabled
reporting a warning in this case -- unless I missed it)
module Foo where
foo :: Int -> Int
foo n = n + 1
where
Nothing = Just n
...wouldn't it be a sensible thing for GHC to warn in such cases
(i.e. when the LHS of a pattern binding is a nullary constructor), or is
there a useful application for this construct?
(In my original case, I ended up with such a "dead" construct after some
"unsound" code refactoring, and it would have helped me catch my error
earlier, if GHC would have pointed out that somethings fishy with my
code)
RSS Feed