私は単項関数 getRate を持っています:
getRate :: String -> IO Double
この関数を文字列のリストにマップしたいと思います。通常は、次のようにします。
mapM getRate ["foo", "bar"]
しかし、getRate への呼び出しごとにネットワーク呼び出しが行われるため、マップを並列化し、各レートが個別のスレッドでフェッチされる (または少なくともキュー間で分散される) ようにしたいと考えています。みたいなことを考えている
parMapM getRate ["foo", "bar"]
ただし、parMapM 関数はなく、parMap はモナド関数では機能しません。
私に何ができる?