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’sIs …?).Is X <pred>?de-inverts to the conditionX is <pred>, evaluated through the tree-walker’s ownIf. - frame_
eval - Evaluate
expr(LOGOS expression source) againstframe(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.