(module modu () (import chicken scheme) (import scheme (chicken base)) (define-syntax define-constant (ir-macro-transformer (lambda (e inj cmp) (apply (lambda (var val) `(print ',var " <- " ,val ", not")) (cdr e))))) ) (define-constant c3 3) ;; $ csc -version ;; CHICKEN ;; (c) 2008-2018, The CHICKEN Team ;; (c) 2000-2007, Felix L. Winkelmann ;; Version 5.0.0pre7 ((detached from 5.0.0pre7)) (rev 5498ea5) ;; linux-unix-gnu-x86-64 [ 64bit dload ptables ;; $ csc modu.scm && ./modu ;; ;; Warning: redefinition of imported syntax binding: define-constant ;; ;; Warning: redefinition of imported syntax binding: define-constant ;; this is interesting, but ignore for now ;; modu.c: In function ‘f_144’: ;; modu.c:89:4: warning: implicit declaration of function ‘C_a_i_provide’ [-Wimplicit-function-declaration] ;; t2=C_a_i_provide(&a,1,lf[0]); ;; ^ ;; c3 <- 3, not ; <- HERE