Dsxir.Module.Runtime (dsxir v0.1.0)

Copy Markdown

Dispatches call(prog, :name, inputs) from inside forward/2 to the declared predictor implementation.

Looks up %PredictorDecl{} by name, extracts per-predictor state from prog, runs the configured call_plugs in declared order, invokes impl.forward/4, puts the (possibly updated) state back, records the trace entry, returns {prog', prediction}.

call_plugs

Plugs resolved from Dsxir.Settings.resolve(:call_plugs, []) run before every predictor dispatch. Each receives a %Dsxir.CallContext{} and must return :ok to continue or {:halt, reason} to abort. A halt raises Dsxir.Errors.Halted.Plug and the predictor forward/4 is not invoked — no [:dsxir, :predictor, :start | :stop] events are emitted for halted calls.

Summary

Functions

Dispatch a predictor call by name against prog. Runs the configured call_plugs, invokes the predictor implementation, records the trace, and returns the updated program with the prediction.

Functions

call(prog, name, inputs, opts \\ [])

Dispatch a predictor call by name against prog. Runs the configured call_plugs, invokes the predictor implementation, records the trace, and returns the updated program with the prediction.