Сравнение Перечислений Хаскелла


Я определил перечисление:

data Direction = Clockwise | CounterClockwise deriving (Enum)

Переменная 'direction' имеет тип 'направление'. При выполнении следующего сравнения:

direction == Clockwise

Я получаю эту ошибку:

  No instance for (Eq OrbitDirection) arising from a use of `=='
  In the expression: direction == Clockwise
1   4   2015-11-18 15:07:27

1 ответ:

Это настолько просто, насколько это возможно: добавьте экземпляр Eq в список производных экземпляров:

data Direction = Clockwise | CounterClockwise deriving (Enum, Eq)