后来回复,@gwideman,我认为你原来的理解是正确的。
简而言之,“(...)=>”在我看来就像一个过滤器,用于过滤可以创建此类实例的类型所需的质量,并且不会增强类或其实例
该维基页面的“类继承”是错误的。这是我的理由。在页面中,它说。
在这里,这意味着一个类型要成为 Ord 的实例,它也必须是 Eq 的实例,因此需要实现 == 和 /= 操作
如果你运行 ghci,然后输入:info Ord,它会显示以下信息:
class Eq a => Ord a where
compare :: a -> a -> Ordering
(<) :: a -> a -> Bool
(<=) :: a -> a -> Bool
(>) :: a -> a -> Bool
(>=) :: a -> a -> Bool
max :: a -> a -> a
min :: a -> a -> a
{-# MINIMAL compare | (<=) #-}
https://downloads.haskell.org/~ghc/7.8.1/docs/html/users_guide/pragmas.html,用于解释“MINIMAL”
看看“ MINIMAL ”,它说,Ord 的实例只需要实现比较或(<=),这意味着,您不需要“实现 == 和 /= 操作”。只有多态 'a' 需要实现 == 或 /= (检查 Eq 的 MINIMAL pragmas)
(...)=> 是类型类约束,而不是 Java 之类的接口继承。