如何在解释模式下运行haskell文件

我被告知你可以解释haskell文件(我认为这意味着他们将像Ruby / Python / Perl一样工作)。 尽pipe如此,在ghc上找不到命令行选项。 它总是想编译我的文件。 看看ghci,但它总是把我变成一个repl。

我基本上只想做ghc -i MyFile.hs (其中-i是我假装与解释模式相关的标志)并且执行,以便在我尝试时获得快速反馈想法和学习。

 $ runhaskell MyFile.hs 

另外, runghc (他们是一样的东西)。 ghci MyFile.hs也会启动与MyFile.hs加载的交互式REPL会话,但如果你想运行一个主程序,那么runhaskell就是要走的路。

把GHCi中的部分程序作为独立的单元进行testing,而不是每次都运行整个程序,这可能是一个不错的主意,但是对于较短的脚本来说,最简单,最简单的就是运行整个程序。

你可以有这样的脚本:

 #!/usr/bin/env runhaskell main = putStrLn "hello world" 

使文件成为可执行文件(即chmod +x haskell_script )后,就可以像其他shell脚本一样运行它。

通过在terminal运行ghci打开GHC解释器,然后加载一个文件,input: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