promises: linguistic support for efficient asynchronous procedure calls in distributed systems
This paper deals with the integration of an efficient asynchronous remote procedure call mechanism into a programming language. It describes a new data type called a promise that was designed to support asynchronous calls. Promises allow a caller to run in parallel with a call and to pick up the results of the call, including any exceptions it raises, in a convenient and type-safe manner. The paper also discusses efficient composition of sequences of asynchronous calls to different locations in a network.
linguistics support efficiency asynchronicity distributed systems paper integrability programming language data parallel exception compositing sequence locatability network