我正在阅读真实世界的Haskell,我遇到了一个例子,其中使用了=>
箭头,
class Borked a where ...
instance (Borked a, Borked b) => Borked (a, b) where ...
这与
有什么不同instance Borked (a, b) where ...
答案 0 :(得分:6)
这意味着a
和b
必须是Borked
(a, b)
的实例才能成为Borked
的实例。因此,当您尝试在元组上调用Borked
的一个方法时,只有在元组的元素也是Borked
的实例时才允许这样做。这允许您在实例定义中对元组的元素使用Borked
的方法。