咨询GHC库中Ord类的实际定义位置
关于Ord类在GHC库中的定义位置
嘿,我来帮你搞清楚这个问题!
首先,你提到的Ord类实际定义在GHC.Classes模块里,这和GHC.Base开头注释说的“Ordering在这,但Ord类不在”完全对应上了。
至于Prelude文档页面没有Ord类的源码链接,是因为Prelude只是重新导出了Ord类(把它从GHC.Classes拉进来,再提供给用户使用),所以文档只展示它的导出接口,不会直接跳转到定义的源码模块。
如果你想验证的话,打开GHCi输入:info Ord,输出里会明确标注它的定义模块是GHC.Classes。在GHC的源码仓库里找到这个模块,就能看到Ord类的完整定义,包括compare核心方法,以及(<)、(>)等基于compare实现的默认方法。
内容的提问来源于stack exchange,提问作者Alexey Romanov
相关产品推荐
相关产品推荐

