我想知道 enum 类型类不继承 ord 类型类的原因。enum 中的 succ 函数本质上对值强加了一个顺序,但 ord 不是必需的约束。
编辑:此外,对于类型类中的其他函数,似乎有一个关于为它们定义 ord 运算符的隐含假设。如此处所示https://hackage.haskell.org/package/base-4.12.0.0/docs/Prelude.html#v:enumFromTo
一个可能的实现是 enumFromTo nm | n <= m = n : enumFromTo (succ n) m | 否则= []