我可以收到关于过度限制型签名的警告吗?

jbe*_*man 12 haskell ghc

当我为一个可能更具多态性的函数提供类型签名时,GHC或一些lint工具能告诉我吗?

ehi*_*ird 7

GHC不会这样做,快速搜索Hackage什么都没有.

实现这样的事情的一种简单但可能非常有效的方法是在GHCi中加载模块,用于:browse获取所有类型的签名,然后加载没有任何类型签名的副本,:browse再次使用,并比较两个输出; 然后只打印除括号,空格和alpha重命名之外的所有行.但是,这不会完美,特别是如果您的定义无法推断其类型.

我觉得这样的工具在实践中会出现很多误报.