Guile 2.0.13: scheme@(guile-user)> (define (foo n) (if (= n 0) 'done (foo (1- n)))) scheme@(guile-user)> ,tracepoint foo Trap 0: Tracepoint at #<procedure foo (n)>. scheme@(guile-user)> (foo 5) Trap 0: (foo 5) Trap 0: | (foo 4) Trap 0: | | (foo 3) Trap 0: | | | (foo 2) Trap 0: | | | | (foo 1) Trap 0: | | | | | (foo 0) Trap 0: | | | | | done Trap 0: | | | | done Trap 0: | | | done Trap 0: | | done Trap 0: | done Trap 0: done $2 = done scheme@(guile-user)>
Guile 2.1.5 (via guile-next in guix): scheme@(guile-user)> (define (foo n) (if (= n 0) 'done (foo (1- n)))) ... ... ... scheme@(guile-user)> scheme@(guile-user)> ,tracepoint foo Trap 0: Tracepoint at #<procedure foo (n)>. scheme@(guile-user)> (foo 30) $1 = done Likewise, ,break and etc do not work for me.