Dsxir (dsxir v0.1.0)
Copy MarkdownTop-level facade for the dsxir framework. Re-exports the user-facing entry points; predictors, adapters, optimizers, and LM impls are reached for under their own module names.
Summary
Functions
Run fun.() with a per-process trace accumulator open. The block must return
{program, prediction} (the standard forward/2 shape). The helper returns
{program, prediction, trace} where trace is the list of recorded entries
in invocation order.
Functions
See Dsxir.Evaluate.run/2.
@spec with_trace((-> {Dsxir.Program.t(), Dsxir.Prediction.t()})) :: {Dsxir.Program.t(), Dsxir.Prediction.t(), [Dsxir.Trace.entry()]}
Run fun.() with a per-process trace accumulator open. The block must return
{program, prediction} (the standard forward/2 shape). The helper returns
{program, prediction, trace} where trace is the list of recorded entries
in invocation order.
The accumulator is process-local. Inside the block, any Dsxir.Module.call/3
running in the calling process records an entry; calls inside spawned tasks
(Dsxir.Predictor.Parallel, user-supplied Tasks) do not — Trace does not
cross process boundaries in v0.
When fun.() raises, throws, or exits, the prior accumulator is restored in
the matching rescue / catch clause and the original condition is
reraised. Partial traces on failure are not surfaced.