;; a.scm (declare (unit a)) (import r7rs) (define-library (a) (import (scheme base) (scheme write)) (export do-it) (begin (define (do-it) (display "I did it.") (newline)) )) ;; b.scm (declare (unit b)) (declare (uses a)) (import r7rs) (define-library (b) (import (scheme base) (a)) (export foo) (begin (define (foo) (do-it)) )) ;; z.scm (declare (uses a b)) (import r7rs) (define-library (z) (import (scheme base) (b)) (export baz) (begin (define (baz) (foo)) )) (import (z)) (baz)