167 citations · 318 across the 13 of their papers we have counts for
15 papers
Finite Functional Programming
Michael Arntzenius, Max Willsey
We unify functional and logic programming by treating predicatesas functions equipped with their support: the set of inputs whose output is nonzero. Datalog, for instance, is a lan…
Optimism in Equality Saturation
Russel Arbore, Alvin Cheung, Max Willsey
Equality saturation is a program optimization technique based on non-destructive rewriting and a form of abstract interpretation called e-class analysis. Existing e-class analyses…
Stream programs are monoid homomorphisms with state
Tyler Hou, Michael Arntzenius, Max Willsey
We define a broad class of deterministic stream functions and show they can be implemented as homomorphisms into a "state" monoid. The homomorphism laws are simpler than the condit…
Better Together: Unifying Datalog and Equality Saturation
Yihong Zhang, Yisu Remy Wang, Oliver Flatt +5
We present egglog, a fixpoint reasoning system that unifies Datalog and equality saturation (EqSat). Like Datalog, it supports efficient incremental execution, cooperating analyses…
Free Join: Unifying Worst-Case Optimal and Traditional Joins
Yisu Remy Wang, Max Willsey, Dan Suciu
Over the last decade, worst-case optimal join (WCOJ) algorithms have emerged as a new paradigm for one of the most fundamental challenges in query processing: computing joins effic…
babble: Learning Better Abstractions with E-Graphs and Anti-Unification
David Cao, Rose Kunkel, Chandrakana Nandi +3
Library learning compresses a given corpus of programs by extracting common structure from the corpus into reusable library functions. Prior work on library learning suffers from t…