Description: A Future API for R is provided.  In programming, a future is an abstraction for a value that may be available at some point in the future.  The state of a future can either be unresolved or resolved.  As soon as it is resolved, the value is available.  Futures are useful constructs in for instance concurrent evaluation, e.g. multicore parallel processing and distributed processing on compute clusters.  The purpose of this package is to provide a lightweight interface for using futures in R.  Functions 'future()' and 'value()' exist for creating futures and requesting their values.  An infix assignment operator '%<=%' exists for creating futures whose values are accessible by the assigned variables (as promises).  This package implements the synchronous "lazy" and "eager" futures, and the asynchronous "multicore" future (not on Windows).  Additional types of futures are provided by other packages enhancing this package.

Title: Unified Parallel and Distributed Processing in R for Everyone
Imports: digest, globals (>= 0.12.1), listenv (>= 0.7.0), parallel,
Description: The purpose of this package is to provide a lightweight and
unified Future API for sequential and parallel processing of R
expression via futures.  The simplest way to evaluate an expression
in parallel is to use `x %<-% { expression }` with `plan(multiprocess)`.
This package implements sequential, multicore, multisession, and
cluster futures.  With these, R expressions can be evaluated on the
local machine, in parallel a set of local machines, or distributed
Extensions to this package implement additional backends for
processing futures via compute cluster schedulers etc.
Because of its unified API, there is no need to modify any code in order
switch from sequential on the local machine to, say, distributed
Another strength of this package is that global variables and functions
are automatically identified and exported as needed, making it
straightforward to tweak existing code to make use of futures.

Imports: digest, globals (>= 0.12.4), listenv (>= 0.7.0), parallel,