Modules§
- check_
shadowing - desugar
- remove_
globals - Remove global variables from the program by translating them into functions with no arguments. This requires type information, so it is done after type checking. Primitives are translated into functions with a primitive output. When a globally-bound primitive value is used in the actions of a rule, we add a new variable to the query bound to the primitive value.
Macros§
Structs§
- Corresponding
Var - Facts
- Generic
Actions - Generic
Function Decl - Represents the declaration of a function directly parsed from source syntax.
- Generic
Rewrite - Generic
Rule - Generic
RunConfig - Ident
Sort - Parse
Error - Parser
- Resolved
Var - Rust
Span - Schema
- Simple
Macro - Variant
Enums§
- Change
- Change a function entry.
- Function
Subtype - Generic
Action - Generic
Command - A
Commandis the top-level construct in egglog. It includes defining rules, declaring functions, adding to tables, and running rules (via aSchedule). - Generic
Expr - Generic
Fact - Facts are the left-hand side of a [
Command::Rule]. They represent a part of a database query. Facts can be expressions or equality constraints between expressions. - GenericN
Command - A
NCommandis a desugaredCommand, where syntactic sugars likeCommand::DatatypeandCommand::Rewriteare eliminated. Most of the heavy lifting in egglog is done overNCommands. - Generic
Schedule - Literal
- Print
Function Mode - The mode of printing a function. The default mode prints the function in a user-friendly way and has an unreliable interface. The CSV mode prints the function in the CSV format.
- Sexp
- Span
- Subdatatypes