[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