  A future is a programming construct designed for concurrent and asynchronous
evaluation of code, making it particularly useful for parallel processing. The
future package implements the Future API for programming with futures in R.
This minimal API provides sufficient constructs for implementing parallel
versions of well-established, high-level map-reduce APIs. The future ecosystem
supports exception handling, output and condition relaying, parallel random
number generation, and automatic identification of globals lowering the
threshold to parallelize code. The Future API bridges parallel frontends with
parallel backends following the philosophy that end-users are the ones who
choose the parallel backend while the developer focuses on what to parallelize.
A variety of backends exist and third-party contributions meeting the
specifications, which ensure that the same code works on all backends, are
automatically supported. The future framework solves several problems not
addressed by other parallel frameworks in R.
