The retry package

[Tags:bsd3, library, test]

This package exposes combinators that can wrap arbitrary monadic actions. They run the action and potentially retry running it with some configurable delay for a configurable number of times. The purpose is to make it easier to work with IO and especially network IO actions that often experience temporary failure and warrant retrying of the original action. For example, a database query may time out for a while, in which case we should hang back for a bit and retry the query instead of simply raising an exception.

[Skip to Readme]


Versions,,,, 0.4, 0.5, 0.5.1, 0.6, 0.7,, 0.7.1, 0.7.2, 0.7.3, 0.7.4,,
Change log
Dependencies base (>=4.6 && <5), data-default-class, exceptions (>=0.5 && <0.9), ghc-prim (<0.6), random (>=1 && <1.2), transformers (<0.7) [details]
License BSD3
Copyright Ozgun Ataman, Soostone Inc
Author Ozgun Ataman
Category Control
Home page
Source repository head: git clone git://
Uploaded Wed Nov 23 18:33:15 UTC 2016 by MichaelXavier
Distributions Arch:, Debian:, LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 14398 total (884 in the last 30 days)
3 []
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for retry

Readme for retry-

README Build Status Coverage Status

retry - combinators for monadic actions that may fail


Monadic action combinators that add delayed-retry functionality, potentially with exponential-backoff, to arbitrary actions.

The main purpose of this package is to make it easy to work reliably with IO and similar actions that often fail. Common examples are database queries and large file uploads.


Please see haddocks for documentation.




Ozgun Ataman, Soostone Inc


Contributors, please list yourself here.

  • Mitsutoshi Aoe (@maoe)
  • John Wiegley
  • Michael Snoyman
  • Michael Xavier