[−][src]Macro egg::recexpr
Utility macro to create an RecExpr
.
Just a wrapper around enode!
.
recexpr!(op, arg1, arg2, ...)
desugars to
RecExpr::from(enode!(op, arg1, arg2, ...))
.
use egg::{*, recexpr as r}; define_language! { enum SimpleLanguage { Num(i32), Add = "+", Mul = "*", } } use SimpleLanguage::*; let mut egraph: EGraph<SimpleLanguage, ()> = Default::default(); let one = egraph.add(enode!(Num(1))); let two = egraph.add(enode!(Num(2))); let three = egraph.add(enode!(Add, one, two)); let three_recexpr = r!(Add, r!(Num(1)), r!(Num(2))); assert_eq!(three, egraph.add_expr(&three_recexpr));