在Haskell代码中警告未使用的变量

时间:2013-06-15 15:24:20

标签: haskell

Real World Haskell说“如果我们在模式中引入变量名称,Haskell编译器可以警告我们,但不要在函数体中使用它。”

我经常忘记使用绑定的变量,所以我想使用这个功能。但是我的ghci和ghc似乎没有使用未使用的变量,而且自从几个月前我开始学习Haskell以来,我实际上从未见过这个。

我该如何使用此功能?或者Haskell编译器不再具有此功能了?

3 个答案:

答案 0 :(得分:9)

如前所述,所有警告的选项均为-fwarn-unused-binds-Wall。另一个是-Werror使警告停止编译。

要使用它们,请在命令行上将它们传递给ghcghci。此外,在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标记添加到ghcghci。要启用其他有用的警告,请使用-W。要启用所有警告,请使用-Wall。例如:

ghci -fwarn-unused-binds