我有一个单子函数getRate:
getRate :: String -> IO Double
我想将这个函数映射到一组字符串列表上。通常,我会这样做:
mapM getRate ["foo", "bar"]
但由于每次调用getRate都会进行网络调用,因此我希望可以并行处理map,以便每个利率在单独的线程中获取(或者至少在队列中分散)。我正在考虑类似于以下的东西
parMapM getRate ["foo", "bar"]
但没有parMapM函数,而parMap无法用于单子函数。
我该怎么办?