Haskell枚举比较

Haskell枚举比较,haskell,enums,Haskell,Enums,我定义了一个枚举: data Direction = Clockwise | CounterClockwise deriving (Enum) 变量“direction”的类型为“direction”。进行以下比较时: direction == Clockwise 我得到了这个错误: No instance for (Eq OrbitDirection) arising from a use of `==' In the expression: direction == Clockw

我定义了一个枚举:

data Direction = Clockwise | CounterClockwise deriving (Enum)
变量“direction”的类型为“direction”。进行以下比较时:

direction == Clockwise
我得到了这个错误:

  No instance for (Eq OrbitDirection) arising from a use of `=='
  In the expression: direction == Clockwise

这很简单:将
Eq
实例添加到派生实例列表中:

data Direction = Clockwise | CounterClockwise deriving (Enum, Eq)
几乎所有导出的
Enum
都应该派生
Eq
Ord
Show
Read
。在某些情况下,您可能希望将
Generic
添加到该列表中。