如何为cabal repl设置ghci选项?

15

我有一个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个回答

6

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

:set -w

对我来说,这覆盖了cabal repl中的-Wall

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接