Skip to content

Commit fb6401e

Browse files
authored
Merge pull request #35 from egraphs-good/oflatt-prepare-release
Move readme to rust docs
2 parents 7c54811 + 96b40f0 commit fb6401e

File tree

3 files changed

+31
-9
lines changed

3 files changed

+31
-9
lines changed

Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
name = "egglog-experimental"
33
version = "0.1.0"
44
edition = "2024"
5+
description = "Experimental extensions to the egglog language."
6+
repository = "https://github.com/egraphs-good/egglog-experimental"
7+
keywords = ["e-graphs", "egglog", "datalog", "compiler", "equality"]
8+
license = "MIT"
9+
readme = "README.md"
510

611
[[test]]
712
harness = false

README.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,7 @@ To use it in a Rust project, you can add it as a dependency in a `Cargo.toml` fi
2222
egglog-experimental = "1.0"
2323
```
2424

25-
## Implemented extensions
26-
27-
* `for`-loops ([demo](https://egraphs-good.github.io/egglog-demo/?example=for))
28-
* `with-ruleset` ([demo](https://egraphs-good.github.io/egglog-demo/?example=with-ruleset))
29-
* Rationals ([demo](https://egraphs-good.github.io/egglog-demo/?example=rational), see `src/rational.rs` for supported primitives)
30-
* Dynamic cost model with `set-cost` ([demo](https://egraphs-good.github.io/egglog-demo/?example=05-cost-model-and-extraction))
31-
* Running custom schedulers with `run-with` ([demo](https://egraphs-good.github.io/egglog-demo/?example=math-backoff))
32-
* `(get-size!)` primitive for querying the total number of tuples in the database (optionally restricted to a list of table names) ([demo](tests/web-demo/node-limit.egg))
25+
## Documentation
26+
27+
Check out the crate documentation (built locally) for the current list of implemented extensions, API details, and demo links.
28+
We plan to do a release on crates.io with the release of egglog 2.0.

src/lib.rs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,29 @@
1+
//! # egglog-experimental
2+
//!
3+
//! This crate layers several experimental features on top of the core
4+
//! [`egglog`](https://github.com/egraphs-good/egglog) language and runtime.
5+
//! It can serve as a standard library when building equality
6+
//! saturation workflows in Rust.
7+
//!
8+
//! ## Implemented extensions
9+
//!
10+
//! - [`for`-loops](https://egraphs-good.github.io/egglog-demo/?example=for)
11+
//! - [`with-ruleset`](https://egraphs-good.github.io/egglog-demo/?example=with-ruleset)
12+
//! - [Rationals support](https://egraphs-good.github.io/egglog-demo/?example=rational)
13+
//! (see [`rational`] for the exposed primitives)
14+
//! - [Dynamic cost models with `set-cost`](https://egraphs-good.github.io/egglog-demo/?example=05-cost-model-and-extraction)
15+
//! - [Custom schedulers via `run-with`](https://egraphs-good.github.io/egglog-demo/?example=math-backoff)
16+
//! - [`(get-size!)` primitive](https://github.com/egraphs-good/egglog-experimental/blob/main/tests/web-demo/node-limit.egg)
17+
//! for inspecting total tuple counts, optionally restricted to specific tables
18+
//!
19+
//! Each bullet links to a runnable demo so you can explore the feature quickly.
20+
//! The rest of this crate exposes the Rust APIs and helpers that back these extensions.
21+
//!
122
use egglog::prelude::{RustSpan, Span, add_base_sort};
223
pub use egglog::*;
324
use std::sync::Arc;
425

5-
mod rational;
26+
pub mod rational;
627
pub use rational::*;
728
mod sugar;
829
pub use sugar::*;

0 commit comments

Comments
 (0)