Search the Dagstuhl Website
Looking for information on the websites of the individual seminars? - Then please:
Not found what you are looking for? - Some of our services have separate websites, each with its own search option. Please check the following list:
Schloss Dagstuhl - LZI - Logo
Schloss Dagstuhl Services
Within this website:
External resources:
  • DOOR (for registering your stay at Dagstuhl)
  • DOSA (for proposing future Dagstuhl Seminars or Dagstuhl Perspectives Workshops)
Within this website:
External resources:
Within this website:
External resources:
  • the dblp Computer Science Bibliography

Dagstuhl Seminar 16402

Programming Language Techniques for Incremental and Reactive Computing

( Oct 03 – Oct 07, 2016 )

(Click in the middle of the image to enlarge)

Please use the following short url to reference this page:




This Dagstuhl Seminar will cultivate a self-aware community of programming language (PL) researchers focusing on incremental and reactive computing behavior. Incremental computations are those that process input changes faster than naive computation that runs from scratch, and reactive computations consist of interactive behavior that varies over time. Due to the importance and prevalence of incremental, reactive systems, ad hoc variants of incremental and reactive computation are ubiquitous in modern software systems.

In response to this reality, the PL research community has worked for several decades to advance new languages for systems that interface with a dynamically-changing environment. In this space, researchers propose new general-purpose languages and algorithms to express and implement efficient, dynamic behavior, in the form of incremental and reactive language systems.

While these research lines continue to develop successfully, this work lacks a shared community that synthesizes a collective discussion about common motivations, alternative techniques, current results and future challenges. To overcome this lack of community, this seminar will work towards building one, by strengthening existing research connections and by forging new ones. Developing a shared culture is critical to the future advancement of incremental and reactive computing in modern PL research, and in turn, this PL research is critical to developing the efficient, understandable interactive systems of the future.


We sought to hold a Dagstuhl Seminar that would bring together programming language (PL) researchers focusing on incremental and reactive computing behavior. The meta-level purpose of this seminar was to take an initial step toward developing a community of experts from the disparate threads of successful research. In that this seminar provoked discussion about common and differing motivations, techniques, and future challenges, this event was successful in starting to cultivate this culture.

Short-term concrete outcomes: Thus far, there are been two concrete outcomes of this seminar:

  • Wikipedia article outlines and edits (Section 3.3)
  • First Workshop on Incremental Computation (IC) at PLDI 2017 (Section 5)

Section 3 gives an overview of the event structure of the seminar, and details some of the event’s outcomes, including outline brainstorming and Wikipedia editing, and the creation of a new Workshop on Incremental Computing (IC). In later sections, this report gives further background on research in reactive and incremental computing (Section 4), and further details on the new IC Workshop (Section 5).

Aknowledgments. Co-organizing this seminar with Camil, Sebastian and Shriram was a pleasure. I am especially thankful to Shriram for organizing the event's structure, and moderating group discussions and group decision making during its execution. We organizers are all thankful to the participants, who all brought a unique insight to the seminar, which in my humble opinion, succeeded in its aims.

Copyright Matthew A. Hammer

  • Pramod Bhatotia (TU Dresden, DE) [dblp]
  • Sebastian Burckhardt (Microsoft Research - Redmond, US) [dblp]
  • Ezgi Cicek (MPI-SWS - Saarbrücken, DE) [dblp]
  • Antony Courtney (San Francisco, US) [dblp]
  • Camil Demetrescu (Sapienza University of Rome, IT) [dblp]
  • Sebastian Erdweg (TU Delft, NL) [dblp]
  • Deepak Garg (MPI-SWS - Saarbrücken, DE) [dblp]
  • Philipp Haller (KTH Royal Institute of Technology - Stockholm, SE) [dblp]
  • Matthew A. Hammer (University of Colorado - Boulder, US) [dblp]
  • Daco Harkes (TU Delft, NL) [dblp]
  • Kyle Headley (University of Colorado - Boulder, US) [dblp]
  • Yit Phang Khoo (The MathWorks Inc. - Natick, US) [dblp]
  • Shriram Krishnamurthi (Brown University - Providence, US) [dblp]
  • Neel Krishnaswami (University of Cambridge, GB) [dblp]
  • Nicholas Labich (University of Maryland - College Park, US) [dblp]
  • Ruy Ley-Wild (LogicBlox - Atlanta, US) [dblp]
  • Frank McSherry (Richmond, US) [dblp]
  • Mira Mezini (TU Darmstadt, DE) [dblp]
  • Yaron Minsky (Jane Street - New York, US) [dblp]
  • Ryan R. Newton (Indiana University - Bloomington, US) [dblp]
  • Marc Pouzet (ENS - Paris, FR) [dblp]
  • Guido Salvaneschi (TU Darmstadt, DE) [dblp]
  • Rohin Shah (University of California - Berkeley, US) [dblp]
  • R. Benjamin Shapiro (University of Colorado - Boulder, US) [dblp]
  • Tamás Szabó (TU Delft, NL) [dblp]
  • Kanat Tangwongsan (Mahidol University, TH) [dblp]

  • data structures / algorithms / complexity
  • programming languages / compiler
  • semantics / formal methods

  • Caching
  • memoization
  • dynamic dependency graphs
  • dataflow graphs
  • in- cremental algorithms
  • change propagation
  • static program transformation
  • reactive languages and systems