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§
- Symbol
Entry - A single entry in the symbol table.
- Symbol
Table - A per-workspace symbol table.
Enums§
- Bind
Error - Errors produced by the binder.
- Bound
Form - An AST form with all
RawSymbolNames resolved toSymbolIds and allRawValues converted to typedValues. - Symbol
Mutation - 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 perir-canonical-form.md§ 6.6) so that replay from the log can reconstitute the workspace’s symbol table. Perlibrarian-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. Matchessymbol-identity-semantics.md§ 7.3.
Functions§
- bind
- Bind a sequence of unbound forms against the given symbol table.
- parse_
symbol_ kind - Map a
@name:Kindannotation’s kind portion toSymbolKind.
Type Aliases§
- Bound
Keywords - Bound keyword arguments — keys preserved as strings, values typed.