(define-syntax foo (ir-macro-transformer (lambda (e i c) (print "--") (print "e\t\t\t " e) (print "(i e)\t\t\t " (i e)) (print "(strip-syntax e)\t " (strip-syntax e)) `',(strip-syntax e)))) (define bar (foo (list 1 2 3))) (print bar) (module amod * (import chicken scheme) (define-syntax foo2 (ir-macro-transformer (lambda (e i c) (print "--") (print "e\t\t\t " e) (print "(i e)\t\t\t " (i e)) (print "(strip-syntax e)\t " (strip-syntax e)) `',(strip-syntax e)))) (define amod-foo (foo2 (list 1 2 3)))) (import amod) (print amod-foo) ;; -- ;; e (foo29 (list30 1 2 3)) ;; (i e) (foo (list 1 2 3)) ;; (strip-syntax e) (foo (list 1 2 3)) ;; (foo (list 1 2 3)) ;; -- ;; e (foo246 (list47 1 2 3)) ;; (i e) (foo2 (list4748 1 2 3)) ;; (strip-syntax e) (foo2 (list 1 2 3)) ;; (foo2 (#%list 1 2 3)) <- ???????????????