Функциональная зависимость нескольких типов

Возможно ли следующее (в духе) с GHC?

-- Syntax error: parse error on input `a'
class Foo a b c | (a, b) -> c where
  foo :: a -> b -> c

Какие у меня есть альтернативы?


person Thomas Eding    schedule 07.01.2012    source источник


Ответы (1)


class Foo a b c | a b -> c должно работать нормально; тот же синтаксис и с правой стороны.

as -> bs просто означает, что as в совокупности определяет все bs.

person ehird    schedule 07.01.2012