Как запустить файл haskell в интерпретируемом режиме
Мне сказали, что вы можете интерпретировать файлы haskell (что я предполагаю, что они будут работать как Ruby/Python/Perl). Однако не удается найти параметр командной строки на ghc. Он всегда хочет скомпилировать мой файл. Взглянул также на ghci, но он всегда сбрасывает меня в реплику.
В основном я хочу просто сделать ghc -i MyFile.hs
(где -i - это сделанный флаг, который я притворяю коррелятами для интерпретируемого режима) и выполнить его, чтобы я мог быстро получить обратную связь, пока я пытаюсь идей и обучения.
Ответы
Ответ 1
$ runhaskell MyFile.hs
В качестве альтернативы runghc
(это одно и то же). ghci MyFile.hs
также запустит интерактивный сеанс REPL с загружаемым MyFile.hs
, но если вы хотите запустить основную программу, то runhaskell
- это путь.
Вероятно, неплохо привыкнуть тестировать части вашей программы как изолированные блоки в GHCi, а не запускать все это каждый раз, но, очевидно, для более коротких скриптов это проще и проще всего для запуска всего.
Ответ 2
У вас может быть script:
#!/usr/bin/env runhaskell
main = putStrLn "hello world"
После выполнения исполняемого файла (т.е. chmod +x haskell_script
) его можно запустить как любую другую оболочку script.
Ответ 3
Откройте интерпретатор GHC, запустив ghci
в терминале и затем загрузив файл :load example.hs
. Подробнее в этой ссылке.
Ответ 4
Чтобы запустить код, написанный в файле, скажем 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
.