Fixpoints for the masses: Programming with first-class Datalog constraints

18Citations
Citations of this article
17Readers
Mendeley users who have this article in their library.

Abstract

Datalog is a declarative logic programming language that has been used in a variety of applications, including big-data analytics, language processing, networking and distributed systems, and program analysis. In this paper, we propose first-class Datalog constraints as a mechanism to construct, compose, and solve Datalog programs at run time. The benefits are twofold: We gain the full power of a functional programming language to operate on Datalog constraints-as-values, while simultaneously we can use Datalog where it really shines: to declaratively express and solve fixpoint problems. We present an extension of the lambda calculus with first-class Datalog constraints, including its semantics and a type system with row polymorphism based on Hindley-Milner. We prove soundness of the type system and implement it as an extension of the Flix programming language.

Cite

CITATION STYLE

APA

Madsen, M., & Lhoták, O. (2020). Fixpoints for the masses: Programming with first-class Datalog constraints. Proceedings of the ACM on Programming Languages, 4(OOPSLA). https://doi.org/10.1145/3428193

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free