Skip to main content

Module for_each

Module for_each 

Source
Expand description

build_for_each_scope_kernel — synthesize the kernel for a for-each scope.

Activity-side replacement for polydat::iteration::comprehension::synthesize_for_each_scope. The comprehension-specific walking lives here; the broad parent-program cascade is delegated to the shared super::cascade::cascade_parent_into_source walker.

§What lives here (comprehension-specific)

  • Probe pre-evaluation of clause spec expressions to detect each iter-var’s native type (so the emitted extern uses the right u64 / f64 / Str / Bool / Ext).
  • Cross-clause placeholder discovery — earlier iter-vars’ probe values may substitute into later clauses’ spec expressions, surfacing additional names the cascade needs to resolve.
  • Phase-bindings appendage (SRD-13f Push E) — when a phase carries both for_each: and bindings:, the bindings source lives on the for-each scope’s kernel.

§What’s delegated (generic cascade)

Everything else — parent-output cascade with provenance- aware inlining, parent-input cascade, workload-params cascade, local-inclusion-chain inlining — runs through the shared walker.

Functions§

build_for_each_scope_kernel
Synthesize and compile a Polydat Kernel for a for-each scope.