"Nicu Ionita" <[email protected]> wrote: > 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? > -Wall? The number of -W options enabled should scale (at least) linearly with code size.
-- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
