我可以为GHC配置一些默认标志吗?我想,即GHC总是假设我想要-fwarn-incomplete-patterns
标志。 This page给出了一个有用的标志列表,并指出其中一些标志默认开启,但同样,我想更改系统的默认值。
我目前正在开发OS X,但我在家使用Debian,Arch Linux和Windows 8.1,因此任何平台的解决方案都会有所帮助。
答案 0 :(得分:10)
除了将shell命令ghc
别名化为ghc -fwarn-incomplete-patterns
之外,我认为没有办法在全球范围内进行,或者是否建议在全球范围内进行,因为它会在使用cabal编译外部库时可能会产生大量警告。可能最好一次做这个项目或只用GHCi:
项目的任何cabal文件中都有一个ghc-options部分。
library
...
ghc-options:
-fwarn-tabs
-fwarn-missing-local-sigs
-fwarn-incomplete-patterns
-fwarn-incomplete-uni-patterns
对于全局GHCi,您可以将以下行添加到〜/ .ghc / ghci.conf
:set -fwarn-incomplete-uni-patterns
答案 1 :(得分:5)
将ghc-options: -fwarn-incomplete-patterns
添加到program-default-options
的<{1}}部分:
~/.cabal/config
这仅适用于Cabalised项目(即,当您使用[...]
program-default-options
...
ghc-options: -fwarn-incomplete-patterns
...
而不是手动运行cabal build/install/[...]
时)并且需要相当近的ghc --make SomeFile.hs
(&gt; = 1.18)。
答案 2 :(得分:1)
因为这对来这里的人有用:
在Gentoo上,您可以使用变量/etc/portage/make.conf
在CABAL_EXTRA_BUILD_FLAGS
中全局设置所有Cabal包的选项(几乎全部是这些包)。所以在你的情况下,那将是
CABAL_EXTRA_BUILD_FLAGS="--ghc-option=-fwarn-incomplete-patterns"
,这是一个更高级的例子
CABAL_EXTRA_BUILD_FLAGS="--ghc-option=+RTS --ghc-option=-M1G --ghc-option=-RTS"
将内存使用量限制为1GB(否则退出)。
我认为Arch和Debian有类似的解决方案,但由于OS X是一个消费者操作系统,我不知道。