Skip to main content

Module frame_eval

Module frame_eval 

Source
Expand description

FrameEval — evaluate a LOGOS expression against a paused frame’s bindings.

ONE evaluator behind every debug surface: conditional breakpoints, the debug REPL, DAP evaluate, watch expressions, and the Studio Prove tab. It reuses the tree-walker — the differential oracle for the VM — so the answer provably agrees with program semantics: it IS program semantics. Read-only: it observes a frame, never mutates it.

Structs§

Binding
One name→value binding in the paused frame. The value is given as LOGOS source (a literal or expression the tree-walker evaluates to seed the name).

Functions§

frame_answer
Evaluate a yes/no question against a frame, returning an English Yes./No. (the debug REPL’s Is …?). Is X <pred>? de-inverts to the condition X is <pred>, evaluated through the tree-walker’s own If.
frame_eval
Evaluate expr (LOGOS expression source) against frame (the paused bindings), returning its rendered value. Errors are the tree-walker’s own, so a bad expression fails exactly as it would in a program.