2016-12-16 85 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的方法。