2016-12-16 82 views
0

我读真实世界哈斯克尔和我碰到其中=>箭头用于像这样的例子来,这个实例声明中的箭头是什么?

class Borked a where ... 

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

这是如何不同

instance Borked (a, b) where ... 

回答

6

这意味着ab必须是的Borked的实例是Borked的实例。所以当你试图在一个元组上调用Borked的方法之一时,只有元组的元素也是Borked的实例才可以。这允许您在实例定义中的元组元素上使用Borked的方法。