Sibling articles under this feature previously restated requirements in inconsistent forms.
Typed emitter and transforms - FAQ and troubleshooting
Platform spec article
Typed emitter and transforms - FAQ and troubleshooting
Spec standingStandard
-
This feature hub owns normative MUST/SHOULD contract text for Typed emitter and transforms.
Context
Decision
This feature hub owns normative MUST/SHOULD contract text. Sibling articles must not redefine hub requirements and should link here for authority.
Consequences
Contract changes start on the hub or in linked ADRs, then propagate to articles and implementation anchors.
Verification anchors
site/website/src/content/docs/platform-spec/compiler/compiler-mods/typed-emitter-and-transforms/index.mdxarticle bundle under the same feature directory.
-
Platform-spec text supersedes informal crate comments for Typed emitter and transforms.
Context
Implementation crates accumulated informal notes that diverged from published contracts.
Decision
Normative platform-spec prose and ADRs under this feature supersede informal comments in implementation crates until explicitly migrated into spec text.
Consequences
Engineers file spec/ADR updates when behavior changes; crate comments are non-authoritative for conformance arguments.
Verification anchors
compiler/crates/beskid_analysis/src/syntax/items/compiler/crates/beskid_codegen/
-
This feature hub defines the normative contract for **`Beskid.Compiler.Emit`** (typed emitter and transforms) and links
Context
This feature hub defines the normative contract for
Beskid.Compiler.Emit(typed emitter and transforms) and links detailed articles.Decision
The reference compiler must implement Typed emitter and transforms as documented in this feature hub and its article bundle.
Consequences
Changes require hub/ADR updates and verification anchor extensions.
Verification anchors
compiler/crates/beskid_analysis/src/syntax/items/compiler/crates/beskid_codegen/
- Typed emitter and transforms - Contracts and edge cases Construction of syntax nodes and declarative transforms without raw text printing.
- Typed emitter and transforms - Design model Construction of syntax nodes and declarative transforms without raw text printing.
- Typed emitter and transforms - Examples Construction of syntax nodes and declarative transforms without raw text printing.
- Typed emitter and transforms - FAQ and troubleshooting Construction of syntax nodes and declarative transforms without raw text printing.
- Typed emitter and transforms - Flow and algorithm Construction of syntax nodes and declarative transforms without raw text printing.
- Typed emitter and transforms - Verification and traceability Construction of syntax nodes and declarative transforms without raw text printing.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
This article collects FAQ entries for Typed emitter and transforms.
Why separate language-meta and compiler pages?
Section titled “Why separate language-meta and compiler pages?”Language-meta defines Beskid-side mod contracts; this compiler area defines how the Rust host executes them safely and incrementally.
Can meta call arbitrary FFI?
Section titled “Can meta call arbitrary FFI?”No — unless explicitly granted by platform policy and declared in compilation capabilities. Default contracts deny ambient FFI.
Where do Roslyn/KSP parallels apply?
Section titled “Where do Roslyn/KSP parallels apply?”Only as rationale for incremental caches and typed models; Beskid contracts are authoritative here, not foreign tool behavior.