English

Performant Dynamically Typed E-Graphs in Pure Julia

Programming Languages 2024-06-04 v3 Symbolic Computation

Abstract

We introduce the third major version of Metatheory.jl, a Julia library for general-purpose metaprogramming and symbolic computation. Metatheory.jl provides a flexible and performant implementation of e-graphs and Equality Saturation (EqSat) that addresses the two-language problem in high-level compiler optimizations, symbolics and metaprogramming. We present results from our ongoing optimization efforts, comparing the state-of-the-art egg Rust library's performance against our system and show that performant EqSat implementations are possible without sacrificing the comfort of a direct 1-1 integration with a dynamic, high-level and an interactive host programming language.

Keywords

Cite

@article{arxiv.2404.08751,
  title  = {Performant Dynamically Typed E-Graphs in Pure Julia},
  author = {Alessandro Cheli and Niklas Heim},
  journal= {arXiv preprint arXiv:2404.08751},
  year   = {2024}
}

Comments

8 pages, 5 figures, submission for 2024 PLDI e-graph workshop

R2 v1 2026-06-28T15:52:57.012Z