Skip to main content

Jane Street: The 8 Versions of Incremental

Sebastian Funk

Incremental is a monadic library for representing computations structured as dynamic dependency graphs. These computations are designed to support efficient recomputation when only a subset of
the inputs have changed. Incremental is essentially an implementation of Umut Acar et al's work on self-adjusting computation.

But building an efficient and usable library based on academic results is a lot harder than just reading some papers and implementing what you see there. That's in part because academics
and implementors have different priorities, that necessarily focus them on different parts of the problem.

This talk will discuss the twists and turns that led to the current version of Incremental, focusing on the mistakes and problems in the first seven versions of incremental that caused them to be left in
the dust. As you'll see, some of these mistakes had to do with important ideas in the literature that we neglected, and some had to do with important questions that the academic papers just failed to
answer.

Free pizzas!

 

 

Share this: