怎样才可以有多个类的限制,因此,如果A
是一个Eq
和B
是Num
,我可以说,无论是
f :: Eq a => a -> b`
要么
f :: Num b => a -> b
所以,我怎么能有Eq a =>
和Num b =>
在同一时间?
-
f :: Eq a => Num b => a -> b
, -
f :: Eq a -> Num b => a -> b
,和 -
f :: Eq a, Num b => a -> b
没有做什么,我想要的。
怎样才可以有多个类的限制,因此,如果A
是一个Eq
和B
是Num
,我可以说,无论是
f :: Eq a => a -> b`
要么
f :: Num b => a -> b
所以,我怎么能有Eq a =>
和Num b =>
在同一时间?
f :: Eq a => Num b => a -> b
, f :: Eq a -> Num b => a -> b
,和 f :: Eq a, Num b => a -> b
没有做什么,我想要的。
他们通常被称为类的限制 ,如Eq
和Num
被称为类型类。
这个怎么样?
f :: (Eq a, Num b) => a -> b
括号是显著。