Tracker
Roadmap search
Versions, deliverables, workstreams, tasks, and pages
Extern import extraction contract - Design model
articleStandard
src/content/docs/platform-spec/compiler/codegen-and-ir/extern-import-extraction-contract/design-model.mdx
import SpecArticleChrome from '@beskid/beskid-ui/platform-spec/SpecArticleChrome.astro';
<SpecArticleChrome />This article documents design model for extern import extraction contract in the reference compiler.
What this covers
For newcomers, this page explains where the contract shows up in day-to-day compiler work and which code paths are most useful first reads.
Anchored code paths
compiler/crates/beskid_abi/src/builtins.rsandsymbols.rsdefine import-facing ABI names.compiler/crates/beskid_runtime/src/builtins/mod.rsprovides runtime implementations for extracted imports.compiler/crates/beskid_e2e_tests/src/tests/runtime_cases.rsverifies extern calls end-to-end.
Practical notes
- Prefer tracing from CLI/test entry points into analysis/codegen crates before changing internals.
- Treat diagnostics and tests as part of the contract, not optional implementation details.
- If behavior changes, update this article and add/adjust tests in
compiler/crates/beskid_testsorcompiler/crates/beskid_e2e_tests.