如何为cabal repl设置ghci选项?

时间:2014-08-15 08:51:01

标签: haskell compiler-errors cabal ghci

我有一个haskell项目,我默认使用-Werror编译。这意味着当我运行cabal repl时,它会在启用选项-Werror的情况下运行。这意味着,例如,当我评估2 + 2时,我收到以下错误消息:

<interactive>:2:3: Warning:
Defaulting the following constraint(s) to type `Integer'
  (Num a0) arising from a use of `+'
In the expression: 2 + 2
In an equation for `it': it = 2 + 2

因此,我需要一种方法来启用-w,或-Wwarn默认启用cabal repl。我该怎么做呢?另外ghci的默认标志是什么?

1 个答案:

答案 0 :(得分:6)

您可以在~/.ghci文件中设置GHCi选项:

:set -w

这会替代我-Wall的{​​{1}}。

我的理解是cabal repl具有相同的默认值ghci:它就像调用没有标志的编译器一样。 ghccabal repl文件中获取默认值(例如.cabal),但这会被ghc-options: -Wall文件覆盖。

您还可以在项目目录中创建~/.ghci文件,其中包含每个项目的设置。但是,这似乎与我的全局.ghci文件进行了尴尬的交互:添加~/.ghci并不会覆盖全局set -Wall :set -w。我不确定这种行为是否有意,或者我只是误解了一些事情。