list,haskell,non-exhaustive-patterns

You don't need the first guard in your function. You can simply write it as the following (I just dropped ::Double because Haskell can infer it) listSum :: ([Integer], [Integer]) -> Double listSum ([], []) = 0.0 listSum ((x:xs),(y:ys)) = fromIntegral x + fromIntegral y + listSum (xs, ys) Now,...

haskell,non-exhaustive-patterns

Have a closer look at the guards for your [x,y] pattern: ascending [x,y] | y>=x = True | x<y = False When applied to [2,1], the first guard is checked and evaluates to False (because 2 >= 1); then, the second guard is checked, but it also evaluates to False...

haskell,pattern-matching,non-exhaustive-patterns

You need to complete the pattern match for novaCoord _ [] _, you need an otherwise clause in your guard for novaCoord, and you missed the case for converte [x] in the where clause for novaCoord.

haskell,non-exhaustive-patterns

Your test string contains '[' and ']', but you only match 'R', 'L' and 'F' in your pattern match. So as soon as it reaches a square bracket you get an exception.