Expand description
Evaluation policy and the macro-expander contract.
The kernel defines the eval-policy, demand, thunk, and macro-expander
contracts plus the EvalFabric surface for location-transparent eval;
libraries supply the concrete evaluation and expansion strategies.
Structs§
- Eager
Policy - A policy that fully evaluates every argument before the call.
- Eval
Reply - The answer returned by an
EvalFabricfor anEvalRequest. - Eval
Request - A request submitted to an
EvalFabricfor location-transparent eval. - Hybrid
Policy - A policy that mixes eager and quoted arguments by their
Demand. - Lazy
Policy - A policy that wraps every argument in a re-forcing lazy thunk.
- Lazy
Thunk Object - A non-memoizing thunk that re-evaluates its expression on every force.
- Need
Policy - A call-by-need policy: arguments are thunked and forced at most once.
- Noop
Eval Policy - A policy that quotes every argument and refuses to evaluate expressions.
- Prepared
Args - A positional tuple of prepared call arguments.
- Strict
ByShape Policy - A policy that forces or defers each argument by its
Demand. - Strict
Names - Wraps any
EvalPolicyso unbound names fail with precise errors. - Thunk
Object - A memoizing call-by-need thunk: evaluated at most once, then cached.
Enums§
- Consistency
- Where a
realizerequest may be answered from. - Demand
- How strongly an argument position demands its value be forced.
- Eval
Mode - Which evaluation discipline a request runs under.
- Phase
- A stage in the pipeline at which macro expansion may run.
Traits§
- Eval
Fabric - The location-transparent distributed eval contract.
- Eval
Policy - The eval-policy contract: how a call site evaluates its arguments and body.
- Macro
Expander - The macro-expander contract: rewrite an
Exprin a givenPhase. - Thunk
- A delayed computation that produces a value when forced.
Functions§
- eval_
expr_ default - Evaluates
exprto a value using the kernel’s default tree-walk. - force_
default - Forces
valueto satisfydemandusing the kernel’s default rules.
Type Aliases§
- Eval
Fabric Ref - A shared, reference-counted handle to an
EvalFabric. - Eval
Policy Ref - A shared, reference-counted handle to an
EvalPolicy. - Macro
Expander Ref - A shared, reference-counted handle to a
MacroExpander.