pub trait HostExtension: Send + Sync {
// Required method
fn install(&self, interp: &mut Interpreter<VigyHost>);
}Expand description
Pluggable intrinsic pack. The framework ships six standard
extensions (Actions, State, Kv, Convergence, Scheduling,
Diagnostics) — together they form standard_extensions(). Hosts
add their own by implementing this trait and passing their impls
to evaluate_with_extensions alongside the standard set.
Implementations should be cheap to construct + cheap to clone; the runtime currently instantiates them per-tick (room to cache later once a real benchmark calls for it).
Required Methods§
Sourcefn install(&self, interp: &mut Interpreter<VigyHost>)
fn install(&self, interp: &mut Interpreter<VigyHost>)
Register every intrinsic this extension owns on the interpreter. Idempotent within a single evaluation — registering twice on the same interpreter overrides the prior binding (tatara-lisp’s default behaviour). Across different interpreter instances each install is independent.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".