Я работаю над проблемой 2-го Эйлера, но сейчас я просто пытаюсь определить последовательность Фибоначчи. В настоящее время моя функция Fib определяется как
Fib 0 = 0
Fib 1 = 1
Fib x = Fib (x - 1) + Fib (x - 2)
Поскольку я хочу, чтобы программа зависела от ввода с клавиатуры, я использовал
main = do
putStrLn "Enter desired Fibonacci index: "
"index" <- getLine
putStrLn Fib x
И определено х как x = read "index"
Я почти уверен, что испортил и отступ, и мой синтаксис. В зависимости от того, как я изменяю код, запуск "ghc /dir/file.hs" дает мне такие вещи, как "Не в области видимости: конструктор данных` Fib '"или" Ошибка разбора (возможно, неправильный отступ) ". Я не знаю, какого черта я делаю, особенно в отношении того, как настроить .hs для удобства компилятора. Я прочитал около 7 учебных пособий по компиляции с GHC, но все они, похоже, пропускают ту часть, где объясняют Основные требования составления.
Пожалуйста, дайте мне знать, как я могу быть более конкретным, если это поможет. Я думаю, что две вещи, которые я пытаюсь понять, это то, как вся «главная» вещь связана с компиляцией, и как я могу получить ее к распознаванию. Я определил Fib как функцию, даже если она говорит, что она не входит в область действия *. 1012 *
PS: Здесь я не могу понять отступ, стек, похоже, хочет поместить все в одну строку, поэтому я должен выделить все это. Сожалею.