uu.seUppsala University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Godot: All the Benefits of Implicit and Explicit Futures
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science. (Programming Languages)ORCID iD: 0000-0001-8654-118X
Storytel, Stockholm, Sweden.ORCID iD: 0000-0002-1970-6607
Univ Lyon, EnsL, UCBL, CNRS, Inria, LIP, France.ORCID iD: 0000-0001-7137-3523
University of Oslo, Norway.ORCID iD: 0000-0001-5382-3949
Show others and affiliations
2019 (English)In: 33rd European Conference on Object-Oriented Programming (ECOOP 2019), 2019Conference paper, Published paper (Refereed)
Abstract [en]

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 kinds. Previous work offer partial solutions to the future proliferation problems; in this paper we show how these solutions can be integrated in an elegant and coherent way, which is more expressive than either system in isolation. We describe our proposal formally, and state and prove its key properties, in two related calculi, based on the two possible families of future constructs (data-flow futures and control-flow futures). The former relies on static type information to avoid unwanted future creation, and the latter uses an algebraic data type with dynamic checks. We also discuss how to implement our new system efficiently.

Place, publisher, year, edition, pages
2019.
Series
Leibniz International Proceedings in Informatics (LIPIcs), ISSN 1868-8969 ; 134
National Category
Computer Systems
Research subject
Computer Science
Identifiers
URN: urn:nbn:se:uu:diva-396199DOI: 10.4230/LIPIcs.ECOOP.2019.2ISBN: 978-3-95977-111-5 (print)OAI: oai:DiVA.org:uu-396199DiVA, id: diva2:1366856
Conference
33rd European Conference on Object-Oriented Programming (ECOOP 2019), London, UK, 15-19 july 2019
Available from: 2019-10-31 Created: 2019-10-31 Last updated: 2019-11-11Bibliographically approved

Open Access in DiVA

Godot-ECOOP19(2156 kB)1 downloads
File information
File name FULLTEXT01.pdfFile size 2156 kBChecksum SHA-512
de64e44b6fbe746d30090e863b588479e8a28cda3cf57caa3f99057984bee2ef20a9b2ea2f106ef19ae8ba7296a330ff4b012275b25372d23417df8d0cd53add
Type fulltextMimetype application/pdf

Other links

Publisher's full texthttp://drops.dagstuhl.de/opus/volltexte/2019/10794

Authority records BETA

Fernandez-Reyes, KikoClarke, DaveWrigstad, Tobias

Search in DiVA

By author/editor
Fernandez-Reyes, KikoClarke, DaveHenrio, LudovicJohnsen, Einar BrochWrigstad, Tobias
By organisation
Computing Science
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 1 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 6 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf