Base.retry: what is it for?

I understand the documentation for Base.retry. It seems useful but it does not seem to be used in Julia Base and in the standard library.

Is there a specific reason?

It’s intended as tool when you do operations that may temporarily fail, e.g. because some event hasn’t happened yet or a shared resource is busy.

Possible reasons why it’s not used within Base:

  • Most of Base shouldn’t be doing things that might fail in the first place.
  • Some parts of Base were written before retry was introduced in Julia 0.5.
  • Some functionality provided by external libraries may use retry support built into the library.