ECOOP 2022
Mon 6 June - Thu 7 July 2022 Berlin, Germany
Thu 9 Jun 2022 14:10 - 14:30 at Aurora Borealis 1 - Language Implementation Chair(s): Guido Salvaneschi

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 Jun

Displayed 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
20m
Talk
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
20m
Talk
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
20m
Talk
Functional Programming with DatalogECOOP 2022
Research Papers
André Pacak JGU Mainz, Sebastian Erdweg JGU Mainz
14:30
20m
Talk
Union Types with Disjoint SwitchesArtifacts Evaluated - ReusableArtifacts Evaluated - FunctionalVCOOP 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