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)

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to