某些语言(如Go & Rust)需要程序员勤勉地从源代码中删除所有死代码。这对代码可维护性和可读性有好处,如果对某些用户来说有点极端。如何在Haskell中启用死代码警告(GHC)
如何在Haskell中启用此功能? (可能吗?)例如,在下面的代码中,我想url2
被标记为死代码,因为它在main
中未使用。
url1 = "http://stackoverflow.com"
url2 = "http://stackexchange.com"
main = print url1
只见参照一些编译器标志(例如-fwarn-unused-binds
,-fwarn-name-shadowing
和-fwarn-hi-shadowing
),但他们都不来完成我想要的东西。
module Main(main) where
...
如果模块头球攻门仅仅高出
module Main where
那么你:
如果适当地限制从模块输出的列表,如
当你编译代码时,有没有什么用'-Wall'显示关于未使用的名字?如果没有,那么GHC并没有警告它。 – bheklilr 2014-09-03 16:20:04
不可以。强制类型签名被添加,但不是死代码警告。 – 2014-09-03 16:21:52
然后我不相信GHC会检查。请参阅[GHC文档](http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/options-sanity.html)了解可用的警告。 – bheklilr 2014-09-03 16:23:32