When i input: decoder "a12b13"
I get the error: "a12b1*** Exception: Lib.hs:(131,5)-(134,302): Non-exhaustive patterns in function complex_decode
I can't see why i'm getting a pattern match issue as the code should always recurse untill i get an empty list and only one argument is passed to it. I think there must be an issue with my base case but i'm not sure what it is. any help would be greatly appriciated. Here is where i think the problem in my code is:
decoder :: [Char] -> [Char]
decoder [] = []
decoder (x:y:xs)
| ((x /= '1'|| x /= '2'|| x /= '3'|| x /= '4'|| x /='5'|| x /= '6'|| x /= '7'|| x /= '8'|| x /= '9'|| x /= '0') && (y /= '1'|| y /= '2'|| y /= '3'|| y /= '4'|| y /='5'|| y /= '6'|| y /= '7'|| y /= '8'|| y /= '9'|| y /= '0')) = x : decoder (y:xs)
| otherwise = repeat_char x (string_to_int(getInt False (y:xs))) ++ decoder xs