Incremental Processing of Structured Data in DatalogVirtual
Incremental computations react to input changes by updating their outputs. Compared to a non-incremental rerun, incremental computations can provide order-of-magnitude speedups, since often small input changes trigger small output changes. One popular means for implementing incremental computations is to encode the computation in Datalog, for which efficient incremental solvers exist. However, Datalog is very restrictive in terms of the data types it can process: Atomic data organized in relations. While structured tree and graph-shaped data can be encoded in relations, a naive encoding inhibits incrementality. In this paper, we present an encoding of structured data in Datalog that supports efficient incrementality such that small input changes are expressible. We explain how to efficiently implement and integrate this encoding into an existing incremental Datalog engine, and we show how tree diffing algorithms can be used to change the encoded data.
Wed 7 DecDisplayed time zone: Auckland, Wellington change
10:30 - 12:00 | |||
10:30 22mTalk | Incremental Processing of Structured Data in DatalogVirtual GPCE DOI | ||
10:52 22mTalk | Data Types as a More Ergonomic Frontend for Grammar-Guided Genetic ProgrammingVirtual GPCE Guilherme Espada University of Lisbon, Leon Ingelse University of Lisbon, Paulo Canelas University of Lisbon; Carnegie Mellon University, Pedro Barbosa University of Lisbon; Instituto de Medicina Molecular, Alcides Fonseca University of Lisbon DOI | ||
11:15 22mTalk | Deep Fusion for Efficient Nested Recursive ComputationsVirtual GPCE Amir Shaikhha University of Edinburgh DOI | ||
11:37 22mTalk | Composable Sequence Macros for Fast IterationVirtual GPCE Anna Bolotina Czech Technical University in Prague, Ryan Culpepper Czech Technical University in Prague DOI |