Как запустить файл 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,

Другие вопросы по тегам