19/01/2020

Seminaïve Evaluation for a Higher-Order Functional Language

Neel Krishnaswami, Michael Arntzenius

Keywords: functional languages, seminaı̈ve evaluation, Datalog, relational languages, Datafun, incremental computation

Abstract: One of the workhorse techniques for implementing bottom-up Datalog engines is seminaı̈ve evaluation. 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.

 0
 0
 0
 0
This is an embedded video. Talk and the respective paper are published at POPL 2020 virtual conference. If you are one of the authors of the paper and want to manage your upload, see the question "My papertalk has been externally embedded..." in the FAQ section.

Comments

Post Comment
no comments yet
code of conduct: tbd

Similar Papers