Подпись типа Haskell с несколькими ограничениями класса

Как я могу иметь несколько ограничений класса, поэтому, если 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

не делало того, что я хотел.

26
задан nbro 21 March 2017 в 16:18
поделиться