egglog 3.0.0

egglog is a language that combines the benefits of equality saturation and datalog. It can be used for analysis, optimization, and synthesis of programs. It is the successor to the popular rust library egg.
Documentation
; Test that :internal-let flag hides constructors from print-size
; Global let bindings should not appear in print-size output

(datatype Math
  (Num i64)
  (Add Math Math))

; Define some global bindings
(let $x (Num 1))
(let $y (Num 2))
(let $sum (Add $x $y))

; Run to populate the e-graph
(run 1)

; print-size should only show Num and Add, not $x, $y, or $sum
(print-size)
; Expected output:
; Add: 1
; Num: 2