如何在解释模式下运行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
。