Concurrent programs often make use of futures, handles to the results of asynchronous operations. Futures provide means to communicate not yet computed results, and simplify the implementation of operations that synchronise on the result of such asynchronous operations. Futures can be characterised as implicit or explicit, depending on the typing discipline used to type them. Current future implementations suffer from "future proliferation", either at the type-level or at run-time. The former adds future type wrappers, which hinders subtype polymorphism and exposes the client to the internal asynchronous communication architecture. The latter increases latency, by traversing nested future structures at run-time. Many languages suffer both k...
AbstractDeterministic behavior for parallel and distributed computation is rather difficult to ensur...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
AbstractA future is a well-known programming construct used to introduce concurrency into sequential...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
International audienceA future is an entity representing the result of an ongoing computation. A syn...
International audienceIn many actor-based programming models, asynchronous method calls communicate ...
Futures enable an efficient and easy to use programming paradigm for distributed applications. A fut...
International audienceThis paper presents a new compilation scheme for futures, a concurrent program...
A future is a well-known programming construct used to introduce concurrency to sequential programs....
Best paper award.International audienceEfficiently distributing synchronous programs is a challengin...
This artifact contains an implementation of data-flow futures in terms of control-flow futures, in t...
A "future" is a typed synchronization mechanism used to represent a value that will come i...
AbstractWe introduce a new lambda calculus with futures, λ(fut), that models the operational semanti...
Abstract Distributed and concurrent object-oriented systems are difficult to analyze due to the comp...
International audienceA natural way to benefit from distribution is via asynchronous invocations to m...
AbstractDeterministic behavior for parallel and distributed computation is rather difficult to ensur...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
AbstractA future is a well-known programming construct used to introduce concurrency into sequential...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
International audienceA future is an entity representing the result of an ongoing computation. A syn...
International audienceIn many actor-based programming models, asynchronous method calls communicate ...
Futures enable an efficient and easy to use programming paradigm for distributed applications. A fut...
International audienceThis paper presents a new compilation scheme for futures, a concurrent program...
A future is a well-known programming construct used to introduce concurrency to sequential programs....
Best paper award.International audienceEfficiently distributing synchronous programs is a challengin...
This artifact contains an implementation of data-flow futures in terms of control-flow futures, in t...
A "future" is a typed synchronization mechanism used to represent a value that will come i...
AbstractWe introduce a new lambda calculus with futures, λ(fut), that models the operational semanti...
Abstract Distributed and concurrent object-oriented systems are difficult to analyze due to the comp...
International audienceA natural way to benefit from distribution is via asynchronous invocations to m...
AbstractDeterministic behavior for parallel and distributed computation is rather difficult to ensur...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
AbstractA future is a well-known programming construct used to introduce concurrency into sequential...