Eventual Send: JS Support for Promise Pipelining
Channel: Agoric
Date: 2019-10-04

Presented at TC39 Oct 2019. https://github.com/tc39/proposal-eventual-send
Achieved stage 1 status.
Slides:
https://github.com/tc39/agendas/blob/master/2019/10.eventual-send-as-recorded.pdf

This proposal adds eventual-send operations to JavaScript Promises, to express invocation of operations on potentially remote objects. We introduce the notion of a handled Promise, whose handler can provide alternate eventual-send behavior. These mechanisms, together with weak references, enable the creation of remote object communications systems with promise pipelining. This proposal is not specific to any one remote object system. Instead, it specifies a general mechanism for hooking in whatever host-provided remote communications facilities are at hand, without constraining the nature of those facilities.