Skip to main content

Module node

Module node 

Source
Expand description

AIR node definitions — the unified intermediate representation.

Every construct in an Bock program is represented as an AIRNode with a NodeKind discriminant that carries typed children. All four AIR layers (S-AIR, T-AIR, C-AIR, TR-AIR) use the same node type; later passes fill in the layer slots that start as None.

Structs§

AIRNode
A single node in the Bock Intermediate Representation.
AirArg
A named argument in a call expression: label: value.
AirHandlerPair
A handler pair in a handling block: Effect with handler.
AirMapEntry
A key-value entry in a map literal.
AirRecordField
A field in a record construction expression.
AirRecordPatternField
A field binding inside a record pattern.
NodeIdGen
A monotonic counter that generates unique NodeIds.

Enums§

AirInterpolationPart
A segment of a string interpolation expression.
EnumVariantPayload
The payload of an enum variant in the AIR.
NodeKind
Discriminant and typed children of an AIRNode.
ResultVariant
Ok or Err variant for result construction.

Type Aliases§

NodeId
Unique identifier for an AIR node within a compilation session.