列表解析Haskell中的意外并行语句

时间:2015-04-16 01:36:28

标签: list haskell list-comprehension

我收到此错误,我正在尝试实施布隆过滤器

Unexpected parallel statement in a list comprehension
Use ParallelListComp

来自下面这行代码

addDB db idx = (last z) where z = db:[ setTrue  udb i  | udb <- z | i <- idx ]

有什么想法吗?

2 个答案:

答案 0 :(得分:10)

只需要添加

{-# LANGUAGE ParallelListComp #-}

感谢您指出bheklilr

答案 1 :(得分:3)

你真的想在那里使用parallel list comprehension吗?要引用Haskell 2010 Report,(正常)列表推导的格式为[e | q_1, ..., q_n],其中每个限定符q_i都是p <- e形式的生成器,本地绑定或布尔守卫。如果您打算使用其中一个,则应使用逗号而不是管道来分隔列表推导中的限定符。