Я пытаюсь завершить sh простое домашнее задание в Haskell для класса в моем университете, но я не могу понять, почему мой код не скомпилируется:
-- Comments
module Main where
main :: IO ()
main = do
n <- readLn
print (fac n)
print (facList n)
print (sumFacs n)
print (fibonacci n)
-- Aufgabe 2 (a):
fac :: Int -> Int
let
fac 0 = 1
fac i = i * fac(i - 1)
-- Aufgabe 2 (b):
facList :: Int -> Int -> [Int]
let
facList x y = [fac m | m <- [x..y]]
sumFacs :: Int -> Int -> Int
let
sumFacs x y = sum (facList x y)
-- Aufgabe 3:
fibonacci :: Int -> Int
let
fibonacci 0 = 1
fibonacci 1 = 1
fibonacci i = fibonacci (i - 1) + fibonacci (i - 2)
Когда Я пытаюсь скомпилировать приведенный выше код с помощью компилятора Глазго, я получаю следующее сообщение об ошибке:
Uebung01.hs:19:1: error:
parse error (possibly incorrect indentation or mismatched brackets)
|
19 | facList :: Int -> Int -> [Int]
| ^
Все функции работают в интерактивном режиме. Извините за публикацию такого простого вопроса, но я совершенно новичок в Haskell и действительно изо всех сил пытаюсь понять, как работают правила пробелов. Я посмотрел ответы на похожие вопросы, но все еще не могу найти свою ошибку. Спасибо за чтение.