创建列表理解时出现Haskell错误

Gus*_*rya -1 haskell functional-programming

我正在按照本指南创建列表推导。

data Value = Two|Three|Four|Five|Six|Seven|Eight|Nine|Ten|J|Q|K|A
          deriving (Eq, Ord, Enum)

data Suite = Hearts | Spades | Diamonds | Clubs
         deriving (Eq, Ord, Enum)

type Card  = (Value, Suite)

pack :: [Card]
pack = [(Value,Suite) | Value <- [Two .. A], Suite <- [Hearts .. Clubs]]
Run Code Online (Sandbox Code Playgroud)

当我创建pack函数时,它总是抛出

error: Data constructor not in scope: Suite :: Suite

Col*_*ett 7

pack :: [Card]
pack = [(Value,Suite) | Value <- [Two .. A], Suite <- [Hearts .. Clubs]]
Run Code Online (Sandbox Code Playgroud)

的左侧<-应为变量(或带有变量的模式)。在Haskell中,这些字母以小写字母开头。尝试这个:

pack :: [Card]
pack = [(value,suite) | value <- [Two .. A], suite <- [Hearts .. Clubs]]
Run Code Online (Sandbox Code Playgroud)