-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Thanks for the great learning materials – just went through them, flagging a few potential typos.
Tutorial 1
“The following check would fail at this point because the commutativity rule has not been run.”
(check (= expr1 (Mul (Num 2) (Add (Num 3) (Var "x")))))
Was a different expression meant to appear here instead? (if not, it may be worth explaining why)
Tutorial 3
You define:
(let expr1 (Add (Var "y") (Add (Num two) (Var "x"))))
(let expr2 (Add (Add (Add (Var "x") (Var "y")) (Num one)) (Num two)))
Are the following terms meant to be expr1 and expr2 rather than e1 and e2?
(fail (check (leq e1 e2)))
(run-schedule (saturate (run)))
(check (leq e1 e2)) ; should pass
Tutorial 4
Typos:
addition-chian- "the following schedule has a very semantics than the schedule above"
Last but not least, the tutorial linked in the docs is from EGRAPHS 2023: https://egraphs-good.github.io/egglog/docs/egglog/#tutorial
While it's a great high-level overview, some of the syntax is outdated (e.g. square brackets don't seem to work in the current egglog version).
Personally, I found this written tutorial to be more helpful and wish I had discovered it sooner – would recommend linking it in the docs.