Back to Search
Start Over
Seminaïve evaluation for a higher-order functional language
- Publication Year :
- 2020
- Publisher :
- Association for Computing Machinery (ACM), 2020.
-
Abstract
- © 2020 Copyright held by the owner/author(s). 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.
- Subjects :
- Evaluation strategy
Functional programming
Datalog
Theoretical computer science
Computer science
Program transformation
Order (ring theory)
020207 software engineering
02 engineering and technology
Distinctive feature
Transformation (function)
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES
020204 information systems
incremental computation
0202 electrical engineering, electronic engineering, information engineering
Code (cryptography)
seminaive evaluation
functional languages
Safety, Risk, Reliability and Quality
Datafun
computer
Software
relational languages
computer.programming_language
Subjects
Details
- Database :
- OpenAIRE
- Accession number :
- edsair.doi.dedup.....ba5e3501e67f86e0fff2d3c56ea3bc2e