Datalog is a carefully restricted logic programming language. What makes Datalog attractive is its declarative fixpoint semantics: Datalog queries consist of simple Horn clauses, yet Datalog solvers efficiently compute all derivable tuples even for recursive queries. However, as we argue in this paper, Datalog is ill-suited as a programming language and Datalog programs are hard to write and maintain. We propose a “new” frontend for Datalog: functional programming with sets. While programmers write recursive functions over algebraic data types and sets, we transparently translate all code to standard Datalog relations. However, we retain Datalog’s strengths: Functions that generate sets can encode arbitrary relations and mutually recursive functions have fixpoint semantics. We also ensure that the generated Datalog code terminates whenever the original functional program terminates, so that we can apply off-the-shelve bottom-up Datalog solvers. We demonstrate the versatility and ease of use of our functional Datalog frontend by implementing a type checker, a program transformation, an interpreter of the untyped lambda calculus, two data-flow analyses, and clone detection of Java bytecode.
Thu 9 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | Language ImplementationHub Talks / Research Papers at Aurora Borealis 1 Chair(s): Guido Salvaneschi University of St. Gallen | ||
13:30 20mTalk | Benchmarking, analysis, and optimization of serverless function snapshotsHub Talk Hub Talks Dmitrii Ustiugov ETH Zurich, Switzerland, Plamen Petrov , Marios Kogias Microsoft Research, Edouard Bugnion EPFL, Boris Grot University of Edinburgh, UK Link to publication DOI | ||
13:50 20mTalk | Synchron - An API and Runtime for Embedded SystemsECOOP 2022 Research Papers Abhiroop Sarkar Chalmers University of Technology, Bo Joel Svensson Chalmers University of Technology, Sweden, Mary Sheeran Chalmers Pre-print | ||
14:10 20mTalk | Functional Programming with DatalogECOOP 2022 Research Papers | ||
14:30 20mTalk | Union Types with Disjoint SwitchesVCOOP 2022ECOOP 2022 Research Papers Baber Rehman The University of Hong Kong, Xuejing Huang The University of Hong Kong, Ningning Xie University of Toronto, Bruno C. d. S. Oliveira University of Hong Kong |