Futures offer a convenient abstraction for encapsulating delayed computation. It is a mechanism to introduce concurrency through a rewrite of the sequential program. However, managing futures is tedious and requires knowledge of concurrency and its concerns. The notion of transparent futures is used to hide the complexity of futures from developers. A number of techniques based on transparency have been proposed to create and manage futures. Previous techniques make use of reflection. In this paper, we propose duck futures that use a generative approach. We show that duck futures are much more efficient compared to previous notions of transparent futures. We also present the first large scale study of the applicability and utility of duck f...
International audienceA natural way to benefit from distribution is via asynchronous invocations to m...
This artifact contains an implementation of data-flow futures in terms of control-flow futures, in t...
Best paper award.International audienceEfficiently distributing synchronous programs is a challengin...
A proxy object is a surrogate or placeholder that controls access to another target object. Proxie...
AbstractFutures are special kind of values that allow the synchronisation of different processes. Fu...
International audienceFutures are special kind of values that allow the synchronisation of different...
Futures are special kind of values that allow the synchronisation of different processes. Futures ar...
International audienceA future is an entity representing the result of an ongoing computation. A syn...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
International audienceThis paper presents a new compilation scheme for futures, a concurrent program...
International audienceIn many actor-based programming models, asynchronous method calls communicate ...
A future is a well-known programming construct used to introduce concurrency to sequential programs....
AbstractA future is a well-known programming construct used to introduce concurrency into sequential...
International audienceThis paper defines distributed futures, a construct that provides at the same ...
International audienceA natural way to benefit from distribution is via asynchronous invocations to m...
This artifact contains an implementation of data-flow futures in terms of control-flow futures, in t...
Best paper award.International audienceEfficiently distributing synchronous programs is a challengin...
A proxy object is a surrogate or placeholder that controls access to another target object. Proxie...
AbstractFutures are special kind of values that allow the synchronisation of different processes. Fu...
International audienceFutures are special kind of values that allow the synchronisation of different...
Futures are special kind of values that allow the synchronisation of different processes. Futures ar...
International audienceA future is an entity representing the result of an ongoing computation. A syn...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
International audienceThis paper presents a new compilation scheme for futures, a concurrent program...
International audienceIn many actor-based programming models, asynchronous method calls communicate ...
A future is a well-known programming construct used to introduce concurrency to sequential programs....
AbstractA future is a well-known programming construct used to introduce concurrency into sequential...
International audienceThis paper defines distributed futures, a construct that provides at the same ...
International audienceA natural way to benefit from distribution is via asynchronous invocations to m...
This artifact contains an implementation of data-flow futures in terms of control-flow futures, in t...
Best paper award.International audienceEfficiently distributing synchronous programs is a challengin...