This library is in flux. APIs may change without notice. Generated from source with koruc 0.1.7 on 10/5/2026.
Interpreter.runcached
~import std/interpreter.runcachedKoru Standard Library: the `runcached` part of interpreter — the cached
interpreter.runcached.kz · 1 tors
Koru Standard Library: the `runcached` part of interpreter — the cached
fast path. Joined via `~part runcached` in interpreter.kz; merged into
the interpreter module at load.
`run-cached` reuses a parsed flow for identical source input — the same
contract as `run`, minus the parse.
// Koru Standard Library: the `runcached` part of interpreter — the cached
// fast path. Joined via `~part runcached` in interpreter.kz; merged into
// the interpreter module at load.
//
// `run-cached` reuses a parsed flow for identical source input — the same
// contract as `run`, minus the parse.
~[retain] pub tor run-cached {
source: string,
dispatcher: DispatchFn,
cost_fn: ?CostFn,
creates_obligations_fn: ?ObligationsArrayFn,
discharges_obligations_fn: ?ObligationsArrayFn,
discharge_event_fn: ?DischargeEventFn,
creates_spec_fn: ?CreatesSpecFn,
discharges_spec_fn: ?DischargesSpecFn,
budget: ?u64,
handle_pool: ?*HandlePool,
fail_fast: bool,
scope_name: string,
auto_discharge: bool,
defined: ?*DefinedFlows,
input_fn: ?InputLookupFn,
lenient: bool,
host_dispatch: ?HostDispatchFn,
session_env: ?*Environment,
session_bind_fn: ?SessionBindFn,
session_bind_env: ?*Environment,
session_bind_counter: ?*u64
}
| result { value: Value, used: u64, handles: u32, bound: string, trace: string }
| unhandled-branch { branch: string, payload: string, handles: string }
| exhausted { used: u64, last_event: string, handles: u32 }
| parse-error { message: string, line: u32, column: u32 }
| validation-error string
| dispatch-error { event_name: string, message: string, trace: string }