(use-modules (ice-9 control)) (define-syntax-rule (letec-m f) (let/ec c (f c))) (define (letec-f f) (let/ec c (f c))) (letec-m (lambda (break) (let lp ((i 0)) (when (< i 2) (pk 1 i) (lp (+ i 1)))))) (letec-f (lambda (break) (let lp ((i 0)) (when (< i 2) (pk 2 i) (lp (+ i 1)))))) #| OUTPUT: ;;; (2 0) ;;; (2 1) |#