1
Haskell中平行的“任何”或“全部”
我现在遇到过一种模式,该模式需要通过在其上映射一些测试并查看是否有任何或所有元素通过来检查值列表。典型的解决方案是使用便捷的内置all和any。 问题是这些以串行方式进行评估。在许多情况下,这将是多快平行的过程被完整的评估,一旦任何线程发现一个“假”的all或“真”的any。我很确定不能使用Control.Parallel来实现短路行为,因为它需要进程间的通信,而且我对Control.Concurrent的理解还不够,无法实现此目的。 这是数学中的一种很常见的模式(例如Miller-Rabin Primality),所以我觉得有人可能已经为此提出了解决方案,但是出于明显的原因,谷歌搜索了“平行或/和//任何/全部在列表中” haskell”不会返回许多相关结果。