Yaron Minsky
Jane Street - Technology Group

The Seven Implementations of Incremental

This talk will describe the development of a library called Incremental, which is a monadic library for creating computations that are structured as dynamic dependenct graphs, where only the relevant parts of the graph need to be evaluated in order to update changes to input values. This library is similar in spirit to Umut Acar et al's work on self-adjusting computation.

Building an efficient and usable library of this kind is surprisingly tricky at the implementation level. After discussing basic ideas behind the incremental library, we'll review the history of the many different implementations of Incremental we have considered and experimented with, discussing the performance and semantic tradeoffs that we encountered for each one.

Yaron Monsky heads the Technology Group at Jane Street, a proprietary trading firm that is the largest industrial user of OCaml. He was responsible for introducing OCaml to the company and for managing the company's transition to using OCaml for all of its core infrastructure. Today billions of dollars worth of securities transactions flow each day through those systems. Yaron obtained his PhD in Computer Science from Cornell University where he studied distributed systems. Yaron lectured, blogged and written about OCaml for years, with articles published in Communications of the ACM and the Journal of Functional Programming. He chairs the steering committee of the Commercial Users of Functional Programming and is a member of the steering committee for the International Conference on Functional Programming.


Host: Umut Acar
Appointments: dcml@cs.cmu.edu

Tuesday, December 4, 2012
2:30 p.m.
Gates & Hillman Centers 4405

Principles of Programming Seminars