GHC tries to do so, but sometimes gets it wrong. See the
-fwarn-incomplete-patterns flag. We'd appreciate it if

someone could


overhaul this code - it's been on the wish list for a long time.

Indeed, I always try to avoid all warnings in my sources by using the flag "-Wall", because I consider this to be good programming style. (In particular warnings about unused and shadowed variables prevented a lot of errors.) However some warnings are difficult to avoid. So how difficult would it be to implement non-exhaustive pattern warnings for nested patterns?


data Color = Red | Green | Blue

f :: Color -> String
f x = case x of
      Red -> "r"
      _   -> " " ++ case x of
                    Green -> "g"
                    Blue  -> "b"

    Warning: Pattern match(es) are non-exhaustive
             In a case alternative: Patterns not matched: Red


"Red" in the second case is unreachable (and this should also be worth a warning.)


Christian

_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to