;;;; run.scm (use trace) (define (foo x y) (if (zero? x) y (foo (sub1 x) (add1 y)))) (trace foo) (parameterize ((trace-call-sites #t) (trace-call-site-length-limit 20)) (assert (= 10 (foo 10 0)))) (define (bar x k) (if (> x 3) (k x) (bar (add1 x) k))) (trace bar) (parameterize ((trace-length-limit 20)) (call/cc (lambda (return) (bar 1 return)))) (break foo) (assert (condition-case (begin (foo 1 2) #f) (breakpoint () #t)))