最近見かけたHaskell library: retry

retryは任意のIOアクションをバックオフつきで再試行(リトライ)する仕組みを提供するライブラリ。RetryPolicy型(Monoidになっている)でどういった戦略でリトライをするかを設定し、retrying関数を使ってRetryPolicyに従ったリトライつきIOアクションを実行する。

ネットワークIOではとかくリトライをどうやるかが問題になるが、本ライブラリを使うことでリトライのロジックと本来やりたい仕事の関心の分離をきれいに実現できる。