relon-eval-api 0.1.0-rc2

Public types and Evaluator trait shared across Relon evaluation backends
Documentation

Public, backend-agnostic surface for Relon evaluation.

This crate is the seam between hosts and evaluator backends; it only re-exports the types a caller actually sees:

  • Data shapes: [Value], [Scope], [Thunk], [RuntimeError].
  • Host configuration surface: [Context], [Capabilities], [NativeFnGate], native-fn / decorator registration.
  • Policy boundary: the [CapabilityGate] trait — single source of capability-policy truth consulted by every backend (see capability module docs for the enforcement-timing diff between dispatch-time tree-walker checks and vtable-build-time cranelift checks).
  • Backend contract: the [Evaluator] trait — five &self methods covering one full evaluation lifecycle.

A backend (tree-walking relon_evaluator::TreeWalkEvaluator, cranelift AOT, LLVM AOT, wasm host wrapper, ...) implements this single trait; hosts then hold a Box<dyn Evaluator> for dynamic dispatch / backend swap.

Trait object-safety is a hard requirement: every method is &self plus concrete in/out types — no generic methods.