Lune

POPL2020Top-tier venue

Seminaïve evaluation for a higher-order functional language

Michael Arntzenius, Neel Krishnaswami

2020Year
15Citations
9Top-tier citations

Abstract

One of the workhorse techniques for implementing bottom-up Datalog engines is seminaïve evaluation [Bancilhon 1986]. This optimization improves the performance of Datalog's most distinctive feature: recursively defined predicates. These are computed iteratively, and under a naïve evaluation strategy, each iteration recomputes all previous values. Seminaïve evaluation computes a safe approximation of the difference between iterations. This can asymptotically improve the performance of Datalog queries.

Seminaïve evaluation is defined partly as a program transformation and partly as a modified iteration strategy, and takes advantage of the first-order nature of Datalog code. This paper extends the seminaïve transformation to higher-order programs written in the Datafun language, which extends Datalog with features like first-class relations, higher-order functions, and datatypes like sum types.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 4705185c-465c-4052-9cef-b2bc1f39a039

Cited by top-tier papers9

Ask how each one uses it

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines