GHC构建标志的全局配置

Ama*_*ant 8 haskell ghc

有没有我可以为GHC配置一些默认标志的地方?我想,即GHC总是假设我想要-fwarn-incomplete-patterns旗帜.这个页面给出了一个有用的标志列表,并指出它们中的一些默认情况下处于打开状态,但是我还想更改系统的默认值.

我目前正在研究OS X,但我在家里使用Debian,Arch Linux和Windows 8.1,因此任何平台的解决方案都会有所帮助.

Ste*_*ehl 10

除了走样shell命令ghcghc -fwarn-incomplete-patterns,我不认为有办法做到在全球范围,或者是否将是可取的全球做,因为与阴谋编译外部库时,它可能会产生警告,一个庞大的它.可能最好一次做这个项目或只用GHCi:

项目的任何cabal文件中都有一个ghc-options部分.

library
  ...

  ghc-options:        
    -fwarn-tabs
    -fwarn-missing-local-sigs
    -fwarn-incomplete-patterns
    -fwarn-incomplete-uni-patterns
Run Code Online (Sandbox Code Playgroud)

对于全局GHCi,可以在〜/ .ghc/ghci.conf中添加以下行

:set -fwarn-incomplete-uni-patterns 
Run Code Online (Sandbox Code Playgroud)


Mik*_*kov 5

添加ghc-options: -fwarn-incomplete-patternsprogram-default-options您的部分~/.cabal/config:

[...]

program-default-options
    ...
    ghc-options: -fwarn-incomplete-patterns
    ...
Run Code Online (Sandbox Code Playgroud)

这仅适用于Cabalised项目(即当您使用cabal build/install/[...]而不是ghc --make SomeFile.hs手动运行时)并且需要相当近期cabal-install(> = 1.18).