(let () (define (bar x) (when (< 0 x) (print "bar " x) (foo (sub1 x)))) (include "include.scm") (foo 10)) ;; include.scm ;; (define (foo x) (when (< 0 x) (print "foo " x) (bar (sub1 x)))) ;; include first: ;; (let () ;; (let ((foo9 (##core#undefined)) (bar10 (##core#undefined))) ;; (let ((t15 (set! foo9 ;; (##core#lambda ;; (x11) ;; (if (scheme#< '0 x11) ;; (let ((t12 (chicken.base#print '"foo " x11))) ;; (bar10 (chicken.base#sub1 x11))) ;; (##core#undefined)))))) ;; (let ((t16 (set! bar10 ;; (##core#lambda ;; (x13) ;; (if (scheme#< '0 x13) ;; (let ((t14 (chicken.base#print '"bar " x13))) ;; (foo9 (chicken.base#sub1 x13))) ;; (##core#undefined)))))) ;; (foo9 '10))))) ;; define bar first: ;; (let () ;; (let ((bar9 (##core#undefined))) ;; (let ((t16 (set! bar9 ;; (##core#lambda ;; (x10) ;; (if (scheme#< '0 x10) ;; (let ((t11 (chicken.base#print '"bar " x10))) ;; (foo (chicken.base#sub1 x10))) ;; (##core#undefined)))))) ;; (let ((foo12 (##core#undefined))) ;; (let ((t15 (set! foo12 ;; (##core#lambda ;; (x13) ;; (if (scheme#< '0 x13) ;; (let ((t14 (chicken.base#print '"foo " x13))) ;; (bar9 (chicken.base#sub1 x13))) ;; (##core#undefined)))))) ;; (foo12 '10))))))