Wed 17 Jul 2019 10:50 - 11:10 at Mancy - Language Design and Implementation Chair(s): John Wickerson

Concurrent programs often make use of future, which are handles to the results of asynchronous operations. Futures provide an instantly available means to communicate not yet computed results, and simplify the implementation of operations that must synchronise on the result of such asynchronous operations. Futures can be characterised as either implicit or explicit, depending on the typing discipline used to type them.

Existing approaches to implementing futures suffer from ``future proliferation'', either at the type-level or at run-time. The former manifests itself through the addition of future type wrappers which expose the client to the asynchronous message indirections of an implementation and hinders subtype polymorphism. The latter manifests itself through increased latency, by traversing nested future structures at run-time. Many languages suffer both kinds.

Previous work offer partial solutions to these problems of future proliferation; 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 first calculus relies on static type information to avoid unwanted future creation and the second uses an algebraic data type with dynamic checks. We also discuss how to implement our new system efficiently.

Wed 17 Jul

Displayed time zone: Belfast change

10:30 - 12:10
Language Design and ImplementationResearch Papers at Mancy
Chair(s): John Wickerson Imperial College London
10:30
20m
Research paper
Lifestate: Event-Driven Protocols and Callback Control Flow
Research Papers
Shawn Meier University of Colorado, Boulder, Sergio Mover Ecole Polytechnique, Bor-Yuh Evan Chang University of Colorado Boulder
DOI Media Attached
10:50
20m
Research paper
Godot: All the Benefits of Implicit and Explicit Futures
Research Papers
Kiko Fernandez-Reyes Uppsala University, Einar Broch Johnsen University of Oslo, Dave Clarke Uppsala Univ. Sweden and KU Leuvern, Ludovic Henrio CNRS, Tobias Wrigstad Uppsala University
DOI Media Attached
11:10
20m
Research paper
Towards Language-Parametric Semantic Editor Services based on Declarative Type System SpecificationsBrave New Idea
Research Papers
Daniel A. A. Pelsmaeker Delft University of Technology, Netherlands, Hendrik van Antwerpen TU Delft, Eelco Visser Delft University of Technology
DOI Media Attached
11:30
20m
Research paper
Multitier Modules
Research Papers
Pascal Weisenburger Technische Universität Darmstadt, Guido Salvaneschi TU Darmstadt
DOI Media Attached
11:50
20m
Research paper
Scopes and Frames Improve Meta-Interpreter Specialization
Research Papers
Vlad Vergu TU Delft, Eelco Visser Delft University of Technology, Andrew Tolmach Portland State University
DOI Media Attached