Performant Dynamically Typed E-Graphs in Pure Julia

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Cheli, Alessandro, Heim, Niklas
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866910468863426560
author Cheli, Alessandro
Heim, Niklas
author_facet Cheli, Alessandro
Heim, Niklas
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2404_08751
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Performant Dynamically Typed E-Graphs in Pure Julia
Cheli, Alessandro
Heim, Niklas
Programming Languages
Symbolic Computation
I.1.3
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.
title Performant Dynamically Typed E-Graphs in Pure Julia
topic Programming Languages
Symbolic Computation
I.1.3
url https://arxiv.org/abs/2404.08751