The term for a place-holder for the undetermined result of a (concurrent) computation. Once the computation delivers a result, the associated future is eliminated by replacing it with the result value. That value may be a future on its own.

Attempting to access a future generally results in blocking until the computation is complete. There are three kinds of behaviors for futures: concurrent (which runs concurrently), lazy (which is computed when requested transparently), and promised (for which the operation calculating it is explicit).

Futures are analogous to logical variables.

This page is linked from: Alice   Io