4 ms·
While I agree with you about pattern matches in Haskell but for completeness sake there is a ghc flag -W for it. If you compile this code with that flag, you wi
by sksk 11y ago
While I agree with you about pattern matches in Haskell but for completeness sake there is a ghc flag -W for it. If you compile this code with that flag, you will see the result below:
--hello.hs
f mx = case mx of
Just x -> x
--Nothing -> "NA"
main = do
let v = Just "5"
putStrLn $ f v
ghc -W hello.hs
[1 of 1] Compiling Main ( hello.hs, hello.o )
hello.hs:1:8: Warning:
Pattern match(es) are non-exhaustive
In a case alternative: Patterns not matched: Nothing
- tome 11y agoIn my opinion, incomplete pattern matches should be an error not a warning, but it seems strange to choose a different language based on that issue.