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