Real World Haskell说“如果我们在模式中引入变量名称,Haskell编译器可以警告我们,但不要在函数体中使用它。”
我经常忘记使用绑定的变量,所以我想使用这个功能。但是我的ghci和ghc似乎没有使用未使用的变量,而且自从几个月前我开始学习Haskell以来,我实际上从未见过这个。
我该如何使用此功能?或者Haskell编译器不再具有此功能了?
答案 0 :(得分:9)
如前所述,所有警告的选项均为-fwarn-unused-binds
或-Wall
。另一个是-Werror
使警告停止编译。
要使用它们,请在命令行上将它们传递给ghc
或ghci
。此外,在ghci的会话期间,您可以键入
:set -fwarn-unused-binds
使用cabal
,您可以将ghc-options
添加到可执行部分。例如:
executable my-program
main-is: MyProgram.hs
hs-source-dirs: src
ghc-options: -Wall
现在,运行cabal configure && cabal build
(以及其他命令)将使用-Wall
选项。
答案 1 :(得分:6)
您可以查看Warnings。我通常在我的项目中使用-Wall
来显示未使用的绑定变量以及其他一些有用的警告。还有特定的标志(-fwarn-unused-binds
)也可以做你想要的。
答案 2 :(得分:5)
您可以将-fwarn-unused-binds
标记添加到ghc
或ghci
。要启用其他有用的警告,请使用-W
。要启用所有警告,请使用-Wall
。例如:
ghci -fwarn-unused-binds