FutureThe 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.