[−][src]Module weld::ast
Defines the Weld abstract syntax tree.
Most of Weld's optimizations occur over the AST, which doubles as a "High-Level IR." The AST captures the expressions in Weld using a tree data structure.
Modules
prelude | A prelude for using the AST. |
Structs
Annotations | An annotation over a type or expression. |
Expr | A typed Weld expression tree. |
Iter | An iterator, which specifies a vector to iterate over and optionally a start index, end index, and stride. |
Parameter | A Parameter in a Lambda. |
PrettyPrintConfig | A struct used to configure pretty printing. |
Symbol | A named symbol in the Weld AST. |
Enums
BinOpKind | Binary operators over numerical values in the Weld IR. |
BuilderKind | Builder types in the Weld IR. |
ExprKind | Expressions in the Weld IR. |
IterKind | Iterator kinds in the Weld IR. |
LiteralKind | Literal types in the Weld IR. |
ScalarKind | Scalar types in the Weld IR. |
Type | Types in the Weld IR. |
UnaryOpKind | Unary operators over numerical values in the Weld IR. |
Traits
CompareIgnoringSymbols | A trait for symbol-agnostic tree comparison. |
HashIgnoringSymbols | A trait that implements symbol-agnostic hashing. |
InferTypes | A trait for checking and infering types in-place. |
NewExpr | A trait for initializing expressions with type inference. |
Placeholder | Creates a placeholder expression. |
PrettyPrint | A trait for pretty printing expression trees. |
Takeable | Takes an expression, replacing it with a placeholder. |
Uniquify | A trait that uniquifies symbol names in-place. |
Functions
expr_box | Create a box containing an untyped expression of the given kind. |