egg: e-graphs good

The egg project uses e-graphs to provide a new way to build program optimizers and synthesizers. egg is developed by Max Willsey and his friends on GitHub.

An e-graph compactly represents many equivalent programs. These four e-graphs represent more and more (even infinite!) ways to write (a × 2) / 2. egg makes e-graphs fast and flexible enough for use in program optimization and synthesis.

The core egg library provides high-performance, flexible e-graphs implemented in Rust. It is packaged on and documented on, including a tutorial that provides an introduction to e-graphs and their use cases.


Projects using egg

Are you using egg in your project? Open a pull request to add your project to this list!