[Haskell-cafe] Avoiding "Non-exhaustive patterns in function f"
peterv
bf3 at telenet.be
Tue Jun 19 17:03:46 EDT 2007
Haskell is known for its very strong static type checking, which eliminates
a lot of runtime errors.
But the following simple program crashes at runtime:
data D = A | B
f A = True
main = print (f B)
I understand this has nothing to do with type checking, but why can't the
compiler give a warning about this? Or is this by design or because it is
impossible to check with more complex recursive data types?
Thanks,
Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070619/2e56dcaa/attachment.htm
More information about the Haskell-Cafe
mailing list