Haskell Stack

时间:2018-02-15 23:55:25

标签: haskell configuration haskell-stack compiler-flags

我想为我的机器上的所有堆栈编译包设置一些自定义编译器标志(比默认值更积极的优化),并且在stack guide之后,我添加了一些ghc-options(适用于{ {1}})到我的"$everything"。这些标志已正确应用于任何项目目录之外的~/.stack/config.yaml调用。

然而,在项目目录中,stack选项并不优先; stack.yaml中的所有内容都被完全忽略了!我在任何项目本地~/.stack/config.yaml文件中都没有指定ghc-options,但指定stack.yaml的文件没有效果。

stack documentation似乎表明选项应该崩溃,正如我原先预期的那样:

  

堆栈有两层配置:项目和非项目。所有这些都存储在stack.yaml文件中,但前者有额外的字段(解析器,包,extra-deps和flags)。 后者可以单独组合,以便系统配置文件提供默认值,用户可以使用〜/ .stack / config.yaml覆盖默认值,项目可以进一步自定义。

除非我对什么"定制"有一个非常不同的想法。意思是,这不是我观察到的行为。我有什么不正确的做法,或者文件在这方面有误导性吗?

1 个答案:

答案 0 :(得分:2)

是的,我认为这是一个错误。我有一个尚未合并的PR,修复了它https://github.com/commercialhaskell/stack/pull/3781