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



我被告知你可以解释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

相关内容

  • 没有找到相关文章

最新更新