我被告知你可以解释Haskell文件(我认为这意味着它们将像Ruby/Python/Perl一样工作)。但是,我找不到GHC上的命令行选项来做到这一点。它总是想编译我的文件。我也看了一下GHCi,但它总是把我扔进一个repl。
我基本上只是想做ghc -i MyFile.hs
(其中-i是一个我假装与解释模式相关的组成标志)并让它执行,以便我可以在尝试想法和学习时获得快速反馈。
$ runhaskell MyFile.hs
或者,runghc
(它们是一样的)。ghci MyFile.hs
也将启动一个交互式的REPL会话与MyFile.hs
加载,但如果你想运行一个主程序,那么runhaskell
是去的方式。
养成在GHCi中作为独立单元测试程序部分的习惯可能是个好主意,而不是每次都运行整个程序,但显然,对于较短的脚本,最简单和最容易的方法是运行整个程序。
你可以有一个这样的脚本:
#!/usr/bin/env runhaskell
main = putStrLn "hello world"
使文件可执行(即chmod +x haskell_script
)后,您可以像运行任何其他shell脚本一样运行它。
在终端上运行ghci
打开GHC解释器,然后输入: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
。