Expand description
Bynk’s semantic-analysis layer — the crate between bynk-syntax and the
emitter.
Holds name resolution (resolver), type checking (checker), the registries
the checker dispatches and the LSP reads (kernel_methods, builtin_names),
the first-party embedded sources (firstparty), actor analysis (actors),
and the captured analysis tables written during resolution/checking:
the binding index, inlay hints, expr_types, and locals. These tables
are produced here and queried by the IDE layer (bynk-ide, a later slice):
captured tables live in bynk-check, queries live above it (ADR 0102, and
the crate-decomposition track’s check↔IDE seam).
Extracted from bynkc as slice 3 of the crate-decomposition track. Behaviour
is unchanged; bynkc depends on this crate and re-exports its modules so its
public API and the emitter/project layers above are untouched.
Re-exports§
pub use firstparty::Platform;
Modules§
- actors
- v0.45 actor contracts (the actors-foundations slice).
- builtin_
names - Centralised string literals for the language’s built-in vocabulary (refactor track item 8, v0.29.11). Built-in type/method names were compared as bare string literals scattered across the checker, emitter, and project modules; a typo was a silent never-match. One edit point per name now.
- checker
- Type checker and refinement validator (spec §§5–6, v0.1 §4.2, v0.2 §4.2).
- expr_
types - v0.30.2 (ADR 0063): the expression-type sink.
- firstparty
- First-party standard adapters embedded in the toolchain (v0.17 §4.2).
- hints
- v0.27 (ADR 0056): the inlay-hint sink.
- index
- v0.25: the project-wide binding index (ADR 0053).
- kernel_
methods - v0.30.2 (ADR 0063): the enumerable kernel-method registry.
- locals
- v0.31 (ADR 0064): the local-binding sink.
- requirements
- v0.99 (ADR — agent capability provenance): the capability-requirement ledger.
- resolver
- Name resolution (spec §5.1, v0.1 §4.1, v0.2 §4.1).