Как запустить файл haskell в интерпретируемом режиме
Мне сказали, что вы можете интерпретировать файлы haskell (что, я полагаю, означает, что они будут работать как Ruby/Python/Perl). Не могу найти параметр командной строки на GHC, чтобы сделать это, хотя. Он всегда хочет скомпилировать мой файл. Также посмотрел на ghci, но он всегда бросает меня в ответ.
Я в основном хочу просто сделать ghc -i MyFile.hs
(где -i - это выдуманный флаг, который я притворяюсь коррелирующим с интерпретируемым режимом), и он выполняется так, чтобы я мог быстро получить обратную связь, пока я пробую идеи и учусь.
4 ответа
$ runhaskell MyFile.hs
С другой стороны, runghc
(они одно и то же). ghci MyFile.hs
также начнет интерактивную сессию REPL с MyFile.hs
загружен, но если вы хотите запустить основную программу, то runhaskell
это путь
Вероятно, неплохо бы привыкнуть тестировать части вашей программы как отдельные модули в GHCi, а не запускать все это каждый раз, но очевидно, что для более коротких сценариев проще всего и проще всего запустить все это.
У вас может быть такой скрипт:
#!/usr/bin/env runhaskell
main = putStrLn "hello world"
После создания исполняемого файла (т.е. chmod +x haskell_script
), вы можете запустить его как любой другой скрипт оболочки.
Откройте интерпретатор GHC, запустив ghci
в терминале, а затем загрузить файл, набрав :load example.hs
, Подробнее в этой ссылке.
Чтобы запустить код, написанный в файле, скажем myfile.txt
, содержащий простые строки кода, которые работают в интерпретаторе GHC, например:
let a = 0 in a:[1,2]
let x = [1,2] in x ++ [3,4]
ты можешь сделать:
ghc -e ':script myfile.txt'
редактировать
В Windows требуются двойные кавычки:
ghc -e ":script myfile.txt"
Вместо этого можно также открыть GHCi
и делать :script myfile.txt
,