A library around the Rust egg library for E-Graphs and Equality Saturation with an implementation of a number of Rewrite Systems, including Halide, Rise, and Linear Arithmatic.
It provides typed Python bindings (including functionality to convert the AST of terms into matrix representation for Machine Learning), sampling from E-Graphs, and Meta-Languages that add Sketches, Probabilities, and Partial Terms to the Language of Rewrite Systems and their Expressions.
To build the Rust library and the Rust cmd binary, just run
cargo buildTo build the Python package use maturin in a local virtual environment.
uv venv --python 3.12
source .venv/bin/activate
cargo build --release
cargo run --bin stub_gen
uvx maturin build --release