Я пытаюсь объявить локальные переменные (это правильный термин в случае haskell?) в haskell, используя предложения where и let-in. Однако всякий раз, когда мои предложения длиннее одной строки, я всегда получаю некоторые ошибки синтаксического анализа:
> letExample :: Int -> Int
> letExample 0 = 0
> letExample n =
> let one = 1
> four = 4
> eight = 8
> in one*four*eight
При попытке загрузить приведенный выше код в ghci я получаю следующую ошибку:
letexample.lhs:4:33:
parse error in let binding: missing required 'in' Failed, modules loaded: none.
Я получаю следующую ошибку при попытке загрузить код ниже:
whereexample:5:57: parse error on input ‘=’
Failed, modules loaded: none.
код:
> whereExample :: Int -> Int
> whereExample 0 = 0
> whereExample n = one * four * eight
> where one = 1
> four = 4
> eight = 8
Как правильно использовать let и где в приведенных выше случаях?
-Wall
, чтобы компилятор сообщил об этом, чтобы вы знали, что что-то не так. Простое решение — избегать вкладок. Дополнительные решения см. на странице dmwit.com/tabs. - person chi   schedule 08.02.2016