Expand description
Binding behavior for the SIM runtime: lexical, dynamic, and scoped binding.
The kernel defines the binding-related contracts; this crate supplies the concrete binding organ (lexical/letrec scopes, dynamic parameters, modes).
Structs§
- Binding
Profile Modes - The binding and hygiene modes selected for a language profile.
- Dynamic
Env - A stack of dynamic-extent binding frames shared across clones.
- Lexical
Env - A lexical scope: a frame of name-to-value slots chained to its parent.
- Lexical
Function - A closure that captures a
LexicalEnvand is callable as a runtime object. - Parameter
- A dynamic parameter: a named fluid binding with a fallback default.
Enums§
- Binding
Scope Mode - How a language profile scopes its bindings.
- Hygiene
Mode - How a language profile treats macro hygiene.
Statics§
- RECIPES
- Cookbook recipes for the binding organ, embedded at build time.
Functions§
- binding_
dynamic_ let_ op_ key - Operation key for the
dynamic-letform (dynamic-extent binding). - binding_
let_ op_ key - Operation key for the
letform (parallel lexical binding). - binding_
let_ star_ op_ key - Operation key for the
let*form (sequential lexical binding). - binding_
letrec_ op_ key - Operation key for the
letrecform (mutually recursive lexical binding). - binding_
op_ keys - All operation keys contributed by the binding organ, in claim order.
- binding_
organ_ symbol - Symbol identifying the binding organ in the claim store.
- binding_
parameterize_ op_ key - Operation key for the
parameterizeform (dynamic parameter rebinding). - binding_
profile_ modes_ op_ key - Operation key for the
profile-modesform (per-profile binding/hygiene modes). - eval_
let - Evaluates a
letform: parallel bindings in a fresh child scope. - eval_
let_ star - Evaluates a
let*form: sequential bindings in a fresh child scope. - eval_
letrec - Evaluates a
letrecform: mutually recursive bindings in a child scope. - lexical_
function_ value - Wraps a
LexicalFunctionas an opaque, callable runtimeValue. - publish_
binding_ organ_ claims - Publishes the binding organ’s claims and operation keys into a
Cx. - publish_
binding_ organ_ claims_ for_ lib - Publishes binding organ claims as part of a loaded lib receipt.
Type Aliases§
- Binding
Initializer - Computes a binding’s initial value within a (possibly partial) scope.