gpt4 book ai didi

haskell - 为什么我注释这个类型签名的错误没有破坏东西?

转载 作者:行者123 更新时间:2023-12-02 12:16:17 25 4
gpt4 key购买 nike

我已经为函数 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com