Check out the web demo for some quick egraph action.
Add egg
to your Cargo.toml
like this:
[dependencies]
egg = "0.6.0"
It's written in Rust.
Typically, you install Rust using rustup
.
Run cargo doc --open
to build and open the documentation in a browser.
Before committing/pushing, make sure to run make
, which runs all the tests and lints that CI will.
You will need graphviz
to run the tests.
Running cargo test
will run the tests.
Some tests may time out; try cargo test --release
if that happens.
There are a couple interesting tests in the tests
directory:
prop.rs
implements propositional logic and proves some simple theorems.math.rs
implements real arithmetic, with a little bit of symbolic differentiation.lambda.rs
implements a small lambda calculus, usingegg
as a partial evaluator.