我试图在Haskell中使用自己的数据类型创建一个无限列表
data Color = Black | White deriving (Show, Eq)
data Cell = Empty | Stone Color deriving (Show, Eq)
makeRow :: Int -> Row
makeRow 0 = []
makeRow n = take n (repeat Cell Empty)
它给了我错误:
Data constructor not in scope: Cell
答案 0 :(得分:2)
您会收到此错误,因为Cell
是-实际上-不是值构造函数。只需使用普通的Empty
即可(请注意,您不会写Bool True
或Bool False
,而只是写True
或False
)。