Я рассматривал другие подобные вопросы, но я все еще не могу решить проблему здесь. Я предопределю это, сказав, что да, это домашнее задание, но я нахожусь в точке, где я не знаю, где я ошибаюсь. Задача состоит в том, чтобы переписать рекурсивный алгоритм мы были даны, что возвращает 1, если п 0, п, если п меньше 5, в противном случае это делает последнюю строку кода здесь:Синтаксис If-Else в Haskell?
alg n = if (n == 0)
then 1
else if (n<5)
then n
else alg(n-1) * alg(n-2) * alg(n-3) * alg(n-4)
ошибки я получаю ошибка синтаксического анализа (возможно, неправильный отступ или несогласованные скобки) в WinGHCi. Я проверил множество статей о том, как правильно структурировать if-заявления в Haskell, но я все еще новичок, поэтому я понятия не имею, где я ошибаюсь. Если кто-то может сказать мне, что неверно, чтобы избежать будущих ошибок, я был бы очень благодарен.
Написание кода в текстовом редакторе и импорт его в GHCI не привели к синтаксическим ошибкам для меня. Вы вводите это интерактивно в GHCI? – Jmac
Я использую Notepad ++ для написания кода и WinGHCi для его выполнения. – LewisDavie