编译堆栈脚本而不是运行它

时间:2019-04-03 17:58:12

标签: haskell haskell-stack

构建工具config/database.php具有将通常已编译的haskell源文件视为脚本的功能。 (https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter

是否也可以以相同的方式创建编译的可执行文件?

我搜索了stackhelp的{​​{1}}部分,但是找不到使之成为可能的选项。

script.hs:

stack

因此,如果授予它正确的权限,则可以执行此文件。我想在后台堆栈会编译文件,然后运行它。而且我只想获取已编译的中间二进制文件。

2 个答案:

答案 0 :(得分:2)

不,它没有被编译。它通过Haskell解释器runhaskell运行。如果要编译它,请执行此操作。而不是运行脚本, 从脚本注释中选择--resolver--package选项,并像这样传递它们

stack ghc --resolver lts-13.14 --package turtle test.hs

答案 1 :(得分:0)

script命令同时使用--compile--optimize作为标志,这将指示Stack在运行之前首先编译为可执行文件(可选地具有-O2优化级别)。