Onward! 2014
Mon 20 - Fri 24 October 2014 Portland, Oregon, United States
co-located with SPLASH 2014
Wed 22 Oct 2014 10:30 - 10:52 at Salon A - Session the First Chair(s): Sebastian Erdweg

Time is of the essence when modifying state. Most programming languages expose the hardware’s ability to update global state at any time, leaving the burden entirely on programmers to properly order all updates. Just as languages now manage memory to free us from meticulously allocating and freeing memory, languages should also manage time to take care of properly ordering state updates. We propose time management as a general language feature to relate various prior work but also to guide future research of this largely unexplored design space.

We propose a new form of managed time, Glitch, which ensures that all updates associated with an external event appear to execute simultaneously, removing the need to order execution manually. Glitch replays code as needed to reach an appearance of simultaneous execution. To do this, all updates must be commutative and capable of being rolled back, which is ensured through built-in state constructs and runtime monitoring. While these restrictions might seem onerous, we find them acceptable for many realistic programs. Glitch retains the familiar imperative programming model as much as possible, restricting rather than replacing it.

Managed time also aides in live programming that provides immediate programmer feedback on how code edits affect execution. Live programming to date has been limited to special cases like pure functions, spreadsheets, or at the top level of games and graphics. Glitch is fully live: past program executions can be replayed in an IDE, while executions are incrementally revised under arbitrary code changes.

Wed 22 Oct

Displayed time zone: Tijuana, Baja California change

10:30 - 12:00
Session the FirstOnward! Papers at Salon A
Chair(s): Sebastian Erdweg TU Darmstadt
10:30
22m
Talk
Programming with Managed Time
Onward! Papers
Sean McDirmid Microsoft Research, Jonathan Edwards MIT, USA
10:52
23m
Talk
Call by Meaning
Onward! Papers
Hesam Samimi SAP Labs, Chris Deaton Cycorp, Yoshiki Ohshima Viewpoints Research Institute, Alessandro Warth SAP Labs, Todd Millstein University of California, Los Angeles
11:15
22m
Talk
Versionable, Branchable, and Mergeable Application State
Onward! Papers
David H. Lorenz Open University and Technion IIT, Boaz Rosenan University of Haifa
11:37
23m
Talk
The Semantics of Version Control
Onward! Papers
Wouter Swierstra University of Utrecht, Andres Löh Well-Typed LLP