使用流包/数据类型时出错

时间:2017-04-15 20:37:29

标签: haskell

我一直陷入困境。我不确定这个错误甚至是诚实的。

data Stream a = Cons a (Stream a)
streamToList :: Stream a -> [a]
streamToList (Cons x (Stream xs)) = x: streamToList (Stream xs)

做这样的事情,我得到不在范围内:数据构造函数'流' ,所以我搜索了错误,一些解决方案是将流更改为小写

data Stream a = Cons a (Stream a)
streamToList :: Stream a -> [a]
streamToList (Cons x xs) = x: streamToList (stream xs)

然后我在模式中获得 Parse错误:stream

我尝试导入 Data.Stream (在Google上用Google搜索),但无法找到模块' Data.Stream'

目前在Ubuntu软件包中使用Haskell

1 个答案:

答案 0 :(得分:1)

Stream

::是类型的名称,因此可以在Cons的右侧使用。但它不是数据构造函数,因此它不能用作值或模式匹配。

headless是数据构造函数的名称,因此可以用作值或模式匹配。但它不是一种类型。