Module weld::ast [] [src]

Abstract syntax tree for Weld.

Structs

Expr

An expression tree, having type annotations of type T. We make this parametrized because expressions have different "kinds" of types attached to them at different points in the compilation process -- namely PartialType when parsed and then Type after type inference.

Iter

An iterator, which specifies a vector to iterate over and optionally a start index, end index, and stride.

Parameter
Symbol

A symbol (identifier name); for now these are strings, but we may add some kind of scope ID.

Enums

BinOpKind
BuilderKind
ExprKind
IterKind

An iterator kind, which specifies how data should be loaded and passed to a For loop.

LiteralKind
ScalarKind
Type

A data type.

UnaryOpKind

Traits

TypeBounds

Type Definitions

TypedExpr

A typed expression struct.

TypedIter

A typed iterator.

TypedParameter

A typed parameter.