我有一个单子函数getRate:
getRate :: String -> IO Double
我想将此函数映射到字符串列表。通常,我会这样做:
mapM getRate ["foo", "bar"]
但由于每次调用 getRate 都会进行网络调用,我想并行化地图,以便在单独的线程中获取每个速率(或至少在队列中展开)。我在想类似的东西
parMapM getRate ["foo", "bar"]
但是没有 parMapM 函数,并且 parMap 不适用于 monadic 函数。
我能做些什么?