Как запустить файл haskell в интерпретируемом режиме

Мне сказали, что вы можете интерпретировать файлы haskell (что, я полагаю, означает, что они будут работать как Ruby/Python/Perl). Не удается найти параметр командной строки на ghc, чтобы сделать это. Он всегда хочет скомпилировать мой файл. Посмотрел на ghci, но он всегда бросает меня в repl.

Я в основном хочу просто сделать 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"

после создания исполняемого файла (ie 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.