В главе 6 из "Программирование в Haskell" Грэма Хаттона есть раздел под названием "6.5 Взаимная рекурсия", который содержит следующий пример:
even :: Int -> Bool
even 0 = True
even (n + 1) = odd n
odd :: Int -> Bool
odd 0 = False
odd (n + 1) = even n
Я хотел попробовать. Я поместил код в файл Hof.hs, запустил ghci (версия 7.8.3), набрал
:l Hof.hs
и получил следующее сообщение об ошибке
Hof.hs:3:7: Parse error in pattern: n + 1 Failed, modules loaded: none.
Почему я получаю это сообщение? Является ли код синтаксически устаревшим или чем-то?