Jump to content

Promise (programming)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Zestyping (talk | contribs) at 07:30, 9 January 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer programming, a promise (also known as a future in some languages) is a placeholder for a result that is not yet known, usually because a computation has not yet finished or a message from a remote party has not yet arrived. The use of promises can dramatically reduce latency in distributed systems because it enables pipelining.

This concurrent programming technique was invented independently twice in the 1980s. It was invented at Project Xanadu as the "promise" and also invented in MultiLisp as the "future", though the implications for latency reduction do not appear to have been recognized in MultiLisp.

Languages containing "promises" include Joule and E.

Languages containing "futures" include Alice and MultiLisp.