Haskell中的模式匹配错误

时间:2016-05-08 17:45:32

标签: haskell pattern-matching parse-error

我正在编写一个函数,将bool列表的列表无意义地映射到bool列表中。这是我的代码:

y=[False| y<-[0..]]    
encode :: [[Bool]] -> [Bool]
encode x:xs =   (zip1 x y):True:True:(encode xs)
encode []=[]

zip1函数只需要两个列表并将它们交替写入新列表。

我收到错误消息

  

模式中的解析错误:编码

为什么会收到此错误消息?

1 个答案:

答案 0 :(得分:5)

函数应用程序的优先级高于:

因此,Haskell解析

encode x:xs 

作为

(encode x):xs 

没有意义。你需要

encode (x:xs)