Recently I opened a crate called eggplant which is a High-Level Rust API for egglog providing easiest approach to define a suite of DSL and Rules (Patttern Action).
With eggplant you can define a DSL and implement constant propagation in only 50 lines of code in Rust! Ref
You can get great flexibility when coding an action in Rust comparing to raw egglog code
I'm willing to rewrite current raw egglog code in Luminal2 into Rust API through this crate. As first step, I will implement FlashAttention Rewrite as a demo.
Could you have a look and give me some suggestion? @jafioti