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
1
2
3
4
5
6
7
8
9
10
11
12
13
;; Reproducer for proof-mode extraction dropping constructor costs.
;;
;; In normal mode, extraction should prefer `Cheap` with cost 5.
;; Previous bug: in proof/term-encoding modes, extraction goes through the
;; view table, and if it doesn't include `:cost` the extracted cost
;; incorrectly falls back to the default cost of 1.

(datatype Expr
  (Cheap :cost 5)
  (Expensive :cost 100))

(union (Cheap) (Expensive))
(extract (Expensive))