$ csc -J -s m.scm && csc -J -s m2.scm && csc -I . poi.scm && ./poi Error: unbound variable: bar Call history: poi.scm:2: bar <-- ;;;;;;;;;;;;;;;;;;;;;;;;;; exporting bar from m2 manually causes a compilation error Warning: exported identifier of module `m2' has not been defined: bar Error: module unresolved: m2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; File: m2.import.scm ----- ;;;; m2.import.scm - GENERATED BY CHICKEN 4.7.5 -*- Scheme -*- (eval '(import chicken scheme m)) (##sys#register-compiled-module 'm2 (list) '() (list (cons 'baz (ir-macro-transformer (lambda (e i c) `(foo)))) 'foo) (list)) ;; END OF FILE File: m2.scm ----- (module m2 (baz) (import chicken scheme) ;; uncommenting these two does not seem to make difference ;; (use m) ;; (import-for-syntax m) (reexport m) (define-syntax baz (ir-macro-transformer (lambda (e i c) `(foo))))) File: m.import.scm ----- ;;;; m.import.scm - GENERATED BY CHICKEN 4.7.5 -*- Scheme -*- (eval '(import chicken scheme)) (##sys#register-compiled-module 'm (list '(bar . m#bar)) '() (list (cons 'foo (ir-macro-transformer (lambda (e i c) `(bar))))) (list)) ;; END OF FILE File: m.scm ----- (module m ((foo bar)) (import chicken scheme) (define (bar) 1) (define-syntax foo (ir-macro-transformer (lambda (e i c) `(bar))))) File: poi.scm ----- (use m2) (print (baz))