以前我用ghc
版本< 8
在Linux上,当我在一个文件中的脚本,说file.hs
,像与GHC
let x = "hello"
putStrLn x
double x=2*x
print $ double 2
double 3
则是可能的运行和运行脚本(而不是模块)通过做
ghc -e ':script file.hs'
现在我使用Windows ghc 8.0.1
获得在终端输出,这不工作了。有另一种方法吗?
如果我打开GHCi
和输入:script file.hs
,我可以得到输出结果。但我希望在终端中输出这些信息。
我不知道这是由于升级了ghc
还是因为操作系统。
您可以使用堆栈来做到这一点:https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter – Sibi
@Sibi'堆栈文件.hs'不起作用。如果我理解的很好,它需要在文件的第一行提供一些选项。而你的链接中的例子是一个“模块”,不是? –
'ghc -e'适用于GHC 8.0.1.20161117,我从这里拷贝了确切的命令 –