IQL

Some computations are embarrassingly incrementalizable, i.e., the potential for speed-ups is immediately obvious, but finding a correct incremental maintenance algorithm is considerable effort. IQL allows formulating queries that are automatically translated into an incremental algorithm. IQL is a domain specific query language that is embedded in Scala and inspired by SQL. The SQL-style queries allow a declarative specification of the incremental computations. The queries are translated to incrementally maintained relational algebra operators, since relational algebra provides a formal framework for reasoning on incremental computations, their efficiency and their optimization. Relational algebra was hithero restricted to database systems, yet the integration into a programming language allows easy utilization for the sake of incrementalization.