我想知道Ord实例声明(a,b),并且我想快速查找hackage以确认我的直觉,比较是第一次a,然后,在相等的情况下,b.我特意去了.由于hackage有链接到数据声明和函数的源代码,我假设还有实例声明的源代码,但我找不到它们.有没有理由说他们不在那里,或者我只是不够努力?type Answer = Either Explanation Directions:)
我查看 Prelude,单击typeclass的源链接Ord,向下滚动一点,发现它定义为
deriving instance (Ord a, Ord b) => Ord (a, b)
Run Code Online (Sandbox Code Playgroud)
它使用StandaloneDeriving扩展。基本上它生成的代码与类型定义为相同的代码
data (a, b) = (a, b) deriving Ord
Run Code Online (Sandbox Code Playgroud)