Papers
Topics
Authors
Recent
Search
2000 character limit reached

Folding an e-graph in pure egglog

Published 2 Jun 2026 in cs.PL | (2607.01249v1)

Abstract: Folding over a recursive data structure (also known as "catamorphism") is an essential operation in functional programming. It allows one to declaratively define a recursive computation by focusing on how solutions of subproblems are combined into the solution of the parent problem. Folding in the context of e-graphs can have several benefits. Not only do we get memoization for free, but also computation is drastically reduced since the subproblems are defined over e-classes as opposed to concrete sub-terms. This short report presents our initial attempt at defining and implementing catamorphism, a general notion of a fold, in pure egglog. We discuss a reusable implementation trick to stage the inference rules so that there is no re-propagation of updated values.

Authors (2)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.