{"title":"Performant Dynamically Typed E-Graphs in Pure Julia","authors":"Alessandro Cheli, Niklas Heim","doi":"arxiv-2404.08751","DOIUrl":null,"url":null,"abstract":"We introduce the third major version of Metatheory.jl, a Julia library for\ngeneral-purpose metaprogramming and symbolic computation. Metatheory.jl\nprovides a flexible and performant implementation of e-graphs and Equality\nSaturation (EqSat) that addresses the two-language problem in high-level\ncompiler optimizations, symbolics and metaprogramming. We present results from\nour ongoing optimization efforts, comparing the state-of-the-art egg Rust\nlibrary's performance against our system and show that performant EqSat\nimplementations are possible without sacrificing the comfort of a direct 1-1\nintegration with a dynamic, high-level and an interactive host programming\nlanguage.","PeriodicalId":501033,"journal":{"name":"arXiv - CS - Symbolic Computation","volume":"63 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-04-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Symbolic Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2404.08751","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
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.