此实例声明中的箭头是什么?

时间:2016-12-16 19:11:09

标签: haskell typeclass

我正在阅读真实世界的Haskell,我遇到了一个例子,其中使用了=>箭头,

class Borked a where ...

instance (Borked a, Borked b) => Borked (a, b) where ...

这与

有什么不同
instance Borked (a, b) where ...

1 个答案:

答案 0 :(得分:6)

这意味着ab必须是Borked (a, b)的实例才能成为Borked的实例。因此,当您尝试在元组上调用Borked的一个方法时,只有在元组的元素也是Borked的实例时才允许这样做。这允许您在实例定义中对元组的元素使用Borked的方法。