通过派生Ord,如果数据类型的组件是Ord的实例,则可以免费比较您的数据类型。您的数据类型的每条记录将与相同数据类型的类似记录进行比较,遵守顺序:首先比较第一条记录,最后比较最后一条记录。这种比较是懒惰的:如果第一个记录比其他记录更大或更低,则比较停止并返回GT或LT。如果第一个记录相等,则比较继续到下一个记录,依此类推。最后,compare
函数返回:data Ordering = LT | EQ | GT
这种默认行为是Haskell语言的一部分还是在Ord实例中编程的?如果在Ord的实例中编程,那么在导出我们自己的类型类时我们如何编写类似的默认行为?