Crate egglog

Source
Expand description

§egglog

egglog is a language specialized for writing equality saturation applications. It is the successor to the rust library egg. egglog is faster and more general than egg.

§Documentation

Documentation for the egglog language can be found here: Command

§Tutorial

Here is the video tutorial on what egglog is and how to use it. We plan to have a text tutorial here soon, PRs welcome!

Modules§

ast
constraint
extract
sort
util

Macros§

add_primitives
call
lit
match_term_app
span
var

Structs§

EGraph
Function
NotFoundError
Primitive
RunReport
Running a schedule produces a report of the results. This includes rough timing information and whether the database was updated. Calling union on two run reports adds the timing information together.
SerializeConfig
SimplePrimitive
TermDag
A hashconsing arena for Terms.
TypeInfo
Stores resolved typechecking information. TODO make these not public, use accessor methods
UnionFind
Value

Enums§

Error
ExtractReport
A report of the results of an extract action.
RunMode
SerializedNode
A node in the serialized egraph.
Term
Like Exprs but with sharing and deduplication.

Traits§

PrimitiveLike

Functions§

cli

Type Aliases§

ArcSort
Id
Subst
TermId