(define-syntax foo (identifier-syntax (_ (format #f "exp1\n")) ((set! _ x) (format #f "expt2 ~s\n" x)))) foo ;; => "exp1\n" (set! foo "hello") ;; => "expt2 \"hello\"\n"