[Haskell-cafe] Re: Basic problem in Haskell language design?

Achim Schneider barsoap at web.de
Sun Mar 1 08:35:58 EST 2009


"Nicu Ionita" <nicu.ionita at acons.at> 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.




More information about the Haskell-Cafe mailing list