我一直陷入困境。我不确定这个错误甚至是诚实的。
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
答案 0 :(得分:1)
Stream
::
是类型的名称,因此可以在Cons
的右侧使用。但它不是数据构造函数,因此它不能用作值或模式匹配。
headless
是数据构造函数的名称,因此可以用作值或模式匹配。但它不是一种类型。