I'm implementing luhn algorithm, here's the code I have so far:
luhn :: [Int] -> Bool
luhn xs = ((evens + odds) `mod` 10) == 0 where
evens = sum [x | (x,i) <- reversed_indexed_xs, i `mod` 2 == 0]
odds = sum [luhnDouble x | (x,i) <- reversed_indexed_xs, i `mod` 2 /= 0] where
reversed_indexed_xs = zip (reverse xs) [0..]
error I'm getting is
Variable not in scope: reversed_indexed_xs :: [(a, Integer)]
|
33 | evens = sum [x | (x,i) <- reversed_indexed_xs, i `mod` 2 == 0]
| ^^^^^^^^^^^^^^^^^^^
Failed, 0 modules loaded.
despite reversed_indexed_xs being defined in nested where statement.
I assume my problem is with indentation, any help?