真实世界Haskell说:"如果我们在模式中引入变量名称,Haskell编译器可以警告我们,但不要在函数体中使用它".
我经常忘记使用我绑定的变量,所以我想使用这个功能.但是我的ghci和ghc似乎没有使用未使用的变量,而且自从几个月前我开始学习Haskell以来,我实际上从未见过这个.
我该如何使用此功能?或者Haskell编译器不再具有此功能了?
正如前面所说的,选择是-fwarn-unused-binds
或-Wall
所有警告.另一个是-Werror
使警告停止编译.
要使用它们,请将它们传递到命令行ghc
或ghci
在命令行上.此外,在ghci的会话期间,您可以键入
:set -fwarn-unused-binds
Run Code Online (Sandbox Code Playgroud)
随着cabal
您可以添加ghc-options
到可执行部分.例如 :
executable my-program
main-is: MyProgram.hs
hs-source-dirs: src
ghc-options: -Wall
Run Code Online (Sandbox Code Playgroud)
现在,运行cabal configure && cabal build
(和其他命令)将使用该-Wall
选项.
您可以将-fwarn-unused-binds
标志添加到ghc
或ghci
.要启用其他有用的警告,请使用-W
.要启用所有警告,请使用-Wall
.例如:
ghci -fwarn-unused-binds
Run Code Online (Sandbox Code Playgroud)