Generates and executes a small BEAM-safe program, regenerating failed code.
Program execution uses Imp.Sandbox; generated source is never passed to
Code.eval_string/3 or an external runtime. When execution fails, the next
planner call receives the previous program and its error. If the sandbox
value cannot directly satisfy the declared outputs, a final LM call extracts
those outputs from the program, value, and execution trajectory.
Summary
Functions
Builds a ProgramOfThought predictor.
Types
@type t() :: %Imp.Predict.ProgramOfThought{ max_iters: pos_integer(), output_field: atom() | String.t(), predict: struct(), signature: Imp.Signature.t() }