LoweringContext
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
Members list
Value members
Concrete methods
Find a binding in a provider module by module name and method name.
Find a binding in a provider module by module name and method name.
Attributes
Add all support module bindings to the base scope.
Add all support module bindings to the base scope.
Called during context initialization (like ScalusRuntime.initContext). Bindings are added to the initial scope so they survive all scope save/restore in lowerLet. They are only included in UPLC output if actually referenced (via termWithNeededVars).
Uses two passes because support bindings may be recursive (e.g., lengthSumDataList calls itself via ExternalVar). Pass 1 adds placeholders so recursive references resolve during lowering. Pass 2 lowers each binding, using monitoredExternalVars to detect self-references and wrap with LetRec only when needed.
Attributes
If this is typevariable, try get the value from context, else leave it as is.
If this is typevariable, try get the value from context, else leave it as is.
Attributes
Concrete fields
When set, ExternalVar resolution records resolved names here. Used by initSupportBindings to detect recursive bindings.
When set, ExternalVar resolution records resolved names here. Used by initSupportBindings to detect recursive bindings.
Attributes
Cache of pre-lowered SIR nodes, keyed by reference identity.
Cache of pre-lowered SIR nodes, keyed by reference identity.
Used during intrinsic resolution: the resolver adds an entry before lowering the substituted provider body, and removes it after. This way lowerSIR finds the cached value for the substituted argument without recomputing it.