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

Jos*_*eek 70 haskell interpreted-language ghc ghci

我被告知你可以解释haskell文件(我认为这意味着它们将像Ruby/Python/Perl一样工作).但是,无法在ghc上找到命令行选项来执行此操作.它总是想编译我的文件.看看ghci也是如此,但它总是把我扔进一个repl.

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

ehi*_*ird 115

$ runhaskell MyFile.hs
Run Code Online (Sandbox Code Playgroud)

或者,runghc(他们是一样的).ghci MyFile.hs还将启动一个带有MyFile.hs加载的交互式REPL会话,但如果你想运行一个主程序,那么runhaskell就是要走的路.

最好养成在GHCi中测试程序的一部分作为独立单元的习惯,而不是每次都运行整个程序,但显然对于较短的脚本来说,运行整个程序最简单,最简单.

  • 无论出于何种原因(OSX上的haskell-platform),`runhaskell`不在我的路上,但是`runghc`是.(所以提到`runghc`的+1) (2认同)

Dav*_*ani 37

你可以有一个这样的脚本:

#!/usr/bin/env runhaskell
main = putStrLn "hello world"
Run Code Online (Sandbox Code Playgroud)

在使文件可执行(即chmod +x haskell_script)之后,您可以像任何其他shell脚本一样运行它.

  • 不像其他任何shell脚本那样*.如果不是`()`,最后执行的表达式的返回值由`runhaskell`自动输出,就像在GHCi中一样.使用`ghc`正常编译的实际可执行文件不会发生这种情况. (4认同)

Ósc*_*pez 11

通过ghci在终端中运行打开GHC解释器,然后加载文件类型:load example.hs.此链接中的更多详细信息.