OverviewSelfadjusting computation refers to a model of computing where computations can automatically respond to changes in their data. The basic abstractions and algorithms for selfadjusting computation were invented jointly with Guy Blelloch and Robert Harper in my Ph.D. thesis work. In subsequent work, we have extended the foundations to include imperative (effectful) computations and traceable data structures, and developed programming languages and systems to support selfadjusting computation in several languages by extending Standard ML and C. We have also applied selfadjusting computation in a number of domains including algorithms, machine learning, and software systems. In these applications, we have solved several important open problems (e.g., geometric problems involving changing and moving data sets, inference algorithms for learning from changing models). PublicationsSoftware An earlier implementation that matches the interface and algorithms described in our TOPLAS2006 paper. Download tarball
 CEAL extends the C language with support for selfadjusting computation. Download CEAL.
 Delta ML extends the ML language with support for selfadjusting computation. Download DeltaML.
 This research is supported partially by grants from Intel Labs, Microsoft Research, and National Science Foundations.
