You could turn on -Wall to get a whole bunch of such warnings.

Am 01.03.2009 um 14:26 schrieb Nicu Ionita:

Hi,

Today I found the following problem when writing a simple function:

-- Whole info from a word8 list to moves
movesFromWord8s :: [Word8] -> [Move]
movesFromWord8s (f:t:ws) = (f, t) : movesFromWord8s ws
moverFromWord8s _ = []

Here I made a small typo in the second equation, writing "mover..." instead of "moves..." for the name of the declared function. Of course this is an
error, because I have non-exhaustive patterns in the function
movesFromWord8s. But the compiler (here GHC 6.8.2 on WinXP) has in principle
no chance to detect this mistake, I saw it only in QuickCheck (aka at
run-time).

I think this is a basic problem with the language design. In small programs it's not so bad, but in large ones this could be. What do you think about
it? Are there possible solutions or workarounds?

Nicu Ionita


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Attachment: PGP.sig
Description: Signierter Teil der Nachricht

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to