Skip to main content

Module bind

Module bind 

Source
Expand description

Symbol binder — resolves crate::parse::RawSymbolName into crate::SymbolId against a per-workspace SymbolTable and produces a fully-typed BoundForm.

Implements the semantics specified in docs/concepts/symbol-identity-semantics.md §§ 3–9.

Structs§

SymbolEntry
A single entry in the symbol table.
SymbolTable
A per-workspace symbol table.

Enums§

BindError
Errors produced by the binder.
BoundForm
An AST form with all RawSymbolNames resolved to SymbolIds and all RawValues converted to typed Values.
SymbolMutation
One symbol-table mutation performed by the binder while processing a batch. The emit stage serializes the journal into SYMBOL_* canonical records (opcodes 0x30–0x33 per ir-canonical-form.md § 6.6) so that replay from the log can reconstitute the workspace’s symbol table. Per librarian-pipeline.md § 3.4 the journal is part of bind’s output alongside the bound AST.

Constants§

ALIAS_CHAIN_LIMIT
Maximum length of an alias chain before the binder rejects further extensions with BindError::AliasChainLengthExceeded. Matches symbol-identity-semantics.md § 7.3.

Functions§

bind
Bind a sequence of unbound forms against the given symbol table.
parse_symbol_kind
Map a @name:Kind annotation’s kind portion to SymbolKind.

Type Aliases§

BoundKeywords
Bound keyword arguments — keys preserved as strings, values typed.