Modules§
- check_
shadowing - desugar
- proof_
global_ remover - Remove global variables from the program by translating them into constructors, making proof generation easier. Does not support primitive-valued globals.
- 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
Traits§
Functions§
- get_
max_ underscores - Computes the maximum number of underscores in any symbol name in the program.
- replace_
internal_ symbol_ with - Replaces all identifiers containing the internal symbol prefix with the given replacement string.
- sanitize_
internal_ names - Sanitizes internal names so they do not contain any internal characters. This enables printing desugared egglog in a way that can be re-parsed.
Type Aliases§
- Action
- Actions
- Command
- Expr
- Fact
- Function
Decl - NCommand
- Resolved
Command - Resolved
Expr - A generated expression is an expression that is generated by the system and does not have annotations.
- Resolved
Fact - Rewrite
- Rule
- RunConfig
- Schedule
- Subsume