2012-04-03 44 views
12

当我为一个可能更多态的函数提供了一个类型签名时,GHC或者一些lint工具能告诉我什么?我可以收到有关过分限制类型签名的警告吗?

+1

请注意,最一般的类型签名并不总是最好的。 'asTypeOf'如果它有更通用的类型,那么它就相当没有意义:)而且不那么平凡,像区域这样的类型系统技术依赖于“未使用”的类约束。 – 2012-04-12 13:22:22

回答

7

GHC不会这样做,并且快速搜索Hackage什么也没有。

实现这样的事情是将加载GHCI模块,使用:browse让所有的类型签名,然后没有任何类型的签名加载一个副本,再次使用:browse,并比较简单,但可能很有效的方法两项产出;那么只需打印所有不同于括号,空格和字母重命名的行。但是,这不会完美地工作,特别是如果您有无法推断其类型的定义。

我有一种感觉,这种工具会在实践中出现很多误报。

相关问题