Я не могу понять, как заставить WinGHCi загрузить и скомпилировать мой файл .hs
.
У меня есть файл C:\Users\Haskell\Source\hello.hs
, содержащий только следующую строку:
main = putStrLn "Hello, world!"
Если в приглашении Prelude>
я запускаю
:cd C:\Users\Haskell\Source\
ничего не происходит, что, как я предполагаю, означает, что команда была успешной. Однако, когда я пытаюсь запустить
:load hello.hs
Я получаю сообщение «[1 из 1] Compiling Main. Ok, модули загружены: Main». Затем мое приглашение меняется с «Prelude» на «*Main», и я набираю:
ghc -o hello hello.hs
После этого я получу серию ошибок, говорящих о том, что ghc, o, hello, hello и hs «не входят в область действия».
Я в правильном каталоге. Почему моя программа не запускается?
Одна из моих проблем заключается в том, что я не могу перемещаться по каталогам. Я знаю, что :!dir
перечисляет файлы, и я нахожусь в правильном каталоге, но :load hello.hs
по-прежнему не работает, и я продолжаю получать ошибку области.
Любая помощь будет оценена по достоинству.
РЕДАКТИРОВАТЬ: пользователь указал, что если я получил приглашение *Main, то моя программа была загружена и скомпилирована, и мне не нужно запускать команду ghc. Если это так, как бы я его запускал? Haskell.org заявляет, что «затем вы можете запустить исполняемый файл (./hello в системах Unix, hello.exe в Windows)», но исполняемый файл не был создан.
fibs = 1:1:zipWith (+) fibs (tail fibs)
в hello.hs, а затем в ghci наберетеtake 20 fibs
, вы увидите первые 20 чисел Фибоначчи. перед вашими глазами. Вам не нужно ограничивать себя вводомmain
. - person AndrewC   schedule 25.12.2014