Ответ 1
Они обычно называются ограничениями класса, поскольку Eq
и Num
называются типами классов.
Как насчет этого?
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
Скобки важны.