This artifact contains an implementation of data-flow futures in terms of control-flow futures, in the Scala language. In the implementation, we show microbenchmarks that solve the three identified problems from the paper: 1) The Type Proliferation Problem, 2) The Fulfilment Observation Problem, and 3) The Future Proliferation Problem There are also detailed instructions on design decisions that differ from the formal semantics and restrictions on the limits of how much can be encoded in the Scala language. We provide examples, e.g., creation of a proxy service using data-flow futures, as well as tests that exercise different parts of the type system.
@Article{fernandezreyes_et_al:DARTS.5.2.1, author = {Fernandez-Reyes, Kiko and Clarke, Dave and Henrio, Ludovic and Johnsen, Einar Broch and Wrigstad, Tobias}, title = {{Godot: All the Benefits of Implicit and Explicit Futures}}, pages = {1:1--1:2}, journal = {Dagstuhl Artifacts Series}, ISSN = {2509-8195}, year = {2019}, volume = {5}, number = {2}, editor = {Fernandez-Reyes, Kiko and Clarke, Dave and Henrio, Ludovic and Johnsen, Einar Broch and Wrigstad, Tobias}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.5.2.1}, URN = {urn:nbn:de:0030-drops-107786}, doi = {10.4230/DARTS.5.2.1}, annote = {Keywords: Futures, Concurrency, Type Systems, Formal Semantics} }
d90b8cda99ad792ac9e97f65184087e9
(Get MD5 Sum)
Feedback for Dagstuhl Publishing