Skip to main content

Module assembly

Module assembly 

Source
Expand description

Programmatic assembly API for building Polydat Kernels.

The assembler validates wiring and types, auto-inserts edge adapters, topologically sorts nodes, and builds a kernel on any engine: a host adds nodes and wires (or takes the assembler the DSL built from source) and calls PolydatAssembler::compile_kernel for the default engine, PolydatAssembler::compile_with for a named one, or PolydatAssembler::compile for the interpreter kernel as a concrete type. The try_compile* constructors build one engine’s kernel as its concrete type for the differential suites and the ladder.

Structs§

PolydatAssembler
Builder for assembling a Polydat Kernel programmatically.

Enums§

AssemblyError
Errors that can occur during assembly.
WireRef
A reference to a value in the assembler: either a coordinate or a node output port.

Functions§

auto_adapter
The lossless adapter node from one port type to another, if the catalog has one: what the assembler inserts between a wire and a port of different types.
boundary_adapter
Boundary adapter catalog. Consulted by adapt_boundary_value when a host-injected scope value crosses into a typed slot. Strictly a superset of auto_adapter: every intra-graph adapter is also a boundary adapter, plus all the lossy / parseable / shape- checking adapters that can panic on input the assembler can’t statically verify.