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

Unexpected parallel statement in a list comprehension Haskell

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

Unexpected parallel statement in a list comprehension
Use ParallelListComp

下面这行代码

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

有什么想法吗?

您真的是想使用 parallel list comprehension there? To quote the Haskell 2010 Report 吗,(正常的)列表推导具有 [e | q_1, ..., q_n] 的形式,其中每个限定符 q_i 是 [=12] 形式的生成器=]、本地绑定或布尔值守卫。如果您想要其中之一,您应该使用逗号而不是竖线来分隔列表理解中的限定符。

刚好需要补充

{-# LANGUAGE ParallelListComp #-}

感谢 bheklilr 指出这一点