在模块或文件中查找未使用的Haskell函数?

时间:2017-08-07 00:39:01

标签: haskell ghc

有没有办法在模块或.hs文件中自动查找未使用的函数(和常量)?具体来说,我指的是当前模块/文件的导出列表中的函数(直接或间接)未使用的那些函数。

我知道,例如Emacs haskell模式能够警告未使用的import S,如下所示: The import of XXX is redundant

是否有类似的工具或方法来查找未使用的功能

注意:我知道这可以通过删除一些代码手动完成,看看它是否仍然编译。但这是一个单调乏味的过程。

1 个答案:

答案 0 :(得分:6)

以下是一些相关的ghc -W标志:

-Wunused-binds
-Wunused-do-bind
-Wunused-foralls
-Wunused-imports
-Wunused-local-binds
-Wunused-matches
-Wunused-pattern-binds
-Wunused-top-binds
-Wunused-type-patterns

或者只使用-Wall。您可以使用ghc --show-options获取完整的ghc标记列表。