Blogs (1) >>
POPL 2019
Sun 13 - Sat 19 January 2019 Cascais, Portugal
Tue 15 Jan 2019 14:30 - 15:00 at Sala X - Session 5 Chair(s): Alberto Pettorossi

Futures and promises are a high-level concurrency construct to aid the user in writing scalable and correct asynchronous programs. We introduce a simple core language based on which we can derive a rich set of future and promise features. We discuss ways to implement the core features via shared-state concurrency making either use of Software Transactional Memory, an elementary lock-based primitive, or an atomic compare-and-swap operation. The approach has been fully implemented in Haskell and Scala. For both languages, we provide empirical evidence of the effectiveness of our method. We consider program transformations in the context of futures and promises and observe potential problems in existing Scala-based libraries.

Tue 15 Jan

Displayed time zone: Belfast change

14:00 - 15:30
Session 5PEPM at Sala X
Chair(s): Alberto Pettorossi University of Rome Tor Vergata, Italy
14:00
30m
Talk
Extracting a Call-by-Name Partial Evaluator from a Proof of Termination
PEPM
Kenichi Asai Ochanomizu University
DOI File Attached
14:30
30m
Talk
Futures and Promises in Haskell and Scala
PEPM
Tamino Dauth Karlsruhe University of Applied Sciences, Germany, Martin Sulzmann Karlsruhe University of Applied Sciences, Germany
DOI File Attached
15:00
28m
Talk
Generating Mutually Recursive Definitions
PEPM
Jeremy Yallop University of Cambridge, UK, Oleg Kiselyov
DOI Pre-print
15:28
2m
Poster
Advanced Futures and Promises in C++ (poster)
PEPM
Tamino Dauth Karlsruhe University of Applied Sciences, Germany, Martin Sulzmann Karlsruhe University of Applied Sciences, Germany