I'm transitioning from an imperative development environment and could use some guidance. I understand in MIT Scheme how to place a break points, trace entry/exits and examine the environment.
Is it possible to single step through the evaluation of subproblems? So far, I've discovered placing a break point on function entry and exit can be accomplished. (debug) entered. However using u/d b/f I'm already at the newest subproblem and this is the function where I set the break. Can it be evaluated further? Is it possible to watch certain arguments and break on a condition? Thanks! (pp f) (named-lambda (f l c) (let ((a 1)) (if (null? l) c (f (cdr l) (+ c 1))))) (f '(1 2 3) 0) [Entering #[compound-procedure 19 f] Args: (1 2 3) 0] ;Breakpoint on entry ;To continue, call RESTART with an option number: ; (RESTART 4) => Continue from breakpoint. ; (RESTART 3) => Continue with advised procedure. ; (RESTART 2) => Return a value from the advised procedure. ; (RESTART 1) => Return to read-eval-print level 1. (debug) There are 14 subproblems on the stack. Subproblem level: 0 (this is the lowest subproblem level) Compiled code expression (from stack): (let ((value ###)) (repl-history/record! (%record-ref (cmdl/state repl) 5) value) value) subproblem being executed (marked by ###): (hook/repl-eval s-expression environment repl) Environment created by the procedure: %REPL-EVAL applied to: ((f (quote (1 2 3)) 0) #[environment 17] #[cmdl 18]) There is no execution history for this subproblem.