fib::Int->Int fib n n==0 = 1 n>1 = error "Invalid Number"
эта функция выдаёт мне ошибку
Syntax error in declaration (unexpected symbol "==")
Я не уверен, что не так с функцией, если сравнивать с материалом для чтения, он выглядит так же
Вам не хватает некоторого синтаксиса:
fib :: Int -> Int fib n | n == 0 = 1 | n > 1 = error "Invalid Number"
Это также может быть написано без первой новой строки:
Эта функция более естественно выражена с помощью сопоставления с образцом:
fib :: Int -> Int fib 0 = 1 fib n | n > 1 = error "Invalid number"
и вас может заинтересовать каталог фибоначчи .