ﻻ يوجد ملخص باللغة العربية
A future is an entity representing the result of an ongoing computation. A synchronisation with a get operation blocks the caller until the computation is over, to return the corresponding value. When a computation in charge of fulfilling a future delegates part of its processing to another task, mainstream languages return nested futures, and several get operations are needed to retrieve the computed value (we call such futures control-flow futures). Several approaches were proposed to tackle this issues: the forward construct, that allows the programmer to make delegation explicit and avoid nested futures, and data-flow explicit futures which natively collapse nested futures into plain futures. This paper supports the claim that data-flow explicit futures form a powerful set of language primitives, on top of which other approaches can be built. We prove the equivalence, in the context of data-flow explicit futures, between the forward construct and classical return from functions. The proof relies on a branching bisimulation between a program using forward and its return counterpart. This result allows language designers to consider forward as an optimisation directive rather than as a language primitive. Following the principles of the Godot system, we provide a library implementation of control-flow futures, based on data-flow explicit futures implemented in the compiler. This small library supports the claim that the implementation of classical futures based on data-flow ones is easier than the opposite. Our benchmarks show the viability of the approach from a performance point of view.
Advances in artificial intelligence have renewed interest in conversational agents. Additionally to software developers, today all kinds of employees show interest in new technologies and their possible applications for customers. German insurance co
The first realization of a polariton condensate was recently achieved in a CdTe microcavity [Kasprzak et al., Nature 443, 409 (2006)]. We compare the experimental phase boundaries, for various detunings and cryostat temperatures, with those found the
This PhD thesis summarizes research works on the design of exact algorithms that provide a worst-case (time or space) guarantee for NP-hard scheduling problems. Both theoretical and practical aspects are considered with three main results reported. T
I present a new approach to teaching a graduate-level programming languages course focused on using systems programming ideas and languages like WebAssembly and Rust to motivate PL theory. Drawing on students prior experience with low-level languages
Abstract. We present a tool to automatically perform the data-size analysis of imperative programs written in C. This tool, called pymwp, is inspired by a classical work on complexity analysis [10], and allows to certify that the size of the values c