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
Times are displayed in time zone: Tijuana, Baja California change

10:30 - 12:00: Session the FirstOnward! Papers at Salon A
Chair(s): Sebastian ErdwegTU Darmstadt
10:30 - 10:52
Programming with Managed Time
Onward! Papers
Sean McDirmidMicrosoft Research, Jonathan EdwardsMIT, USA
10:52 - 11:15
Call by Meaning
Onward! Papers
Hesam SamimiSAP Labs, Chris DeatonCycorp, Yoshiki OhshimaViewpoints Research Institute, Alessandro WarthSAP Labs, Todd MillsteinUniversity of California, Los Angeles
11:15 - 11:37
Versionable, Branchable, and Mergeable Application State
Onward! Papers
David H. LorenzOpen University and Technion IIT, Boaz RosenanUniversity of Haifa
11:37 - 12:00
The Semantics of Version Control
Onward! Papers
Wouter SwierstraUniversity of Utrecht, Andres LöhWell-Typed LLP