作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经为函数 execState
定义了一个别名:
myCleverName = execState
GHC 警告顶级绑定(bind)没有带注释的类型签名,所以我写道:
myCleverName :: State s a => s -> s
对于大多数人来说,显而易见的是,“粗箭头”=>
应该是普通的细箭头 ->
。但我今天才注意到,包含别名的模块和使用别名的代码都已编译良好数周,甚至没有警告我使用了错误的语法。这是为什么?
谢谢!
最佳答案
GHC 7.6.3 有一个错误,允许出现这样的情况,但它在 GHC 7.8 中已修复(或应该修复)。在内部,类型类约束表示为隐式函数参数,我认为这就是 7.6.3 感到困惑的原因。它们仍然以这种方式表示,但健全性检查已得到改进。
关于haskell - 为什么我注释这个类型签名的错误没有破坏东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26078701/
我是一名优秀的程序员,十分优秀!