Expand description
Expression profile: the tuple of (revision, extensions, host context) that governs which functions, operators, and types are available for a given evaluation.
A profile is passed to
FunctionLibrary::for_profile to
obtain a library that matches the requested revision, extensions, and
host context. Libraries are cached per rules-independent profile key,
so callers that construct many libraries with the same spec shape and
different path-mapping rules pay only the host-context registration
cost per call.
The three axes modelled here correspond to the axes identified in the forward-compatibility evaluation report:
- Axis A — revision: which base functions and operators exist
(see
ExprRevision). - Axis B — extensions: which add-on functions exist
(see
ExprExtension). - Axis C — host state: whether host-context implementations are
real, stubbed, or absent (see
HostContext).
Axis D (scope-specific symbol availability) is handled by the caller
building an appropriate SymbolTable — it is
orthogonal to the profile.
Structs§
- Expr
Profile - A complete expression profile: revision, enabled extensions, and host context.
Enums§
- Expr
Extension - Expression-language extensions.
- Expr
Revision - Expression-language specification revision.
- Host
Context - Host-context state available to expression evaluation.