The (rnrs syntax-case (6))library provides support for writing low-level macros in a high-level style, with automatic syntax checking, input destructuring, output restructuring, maintenance of lexical scoping and referential transparency (hygiene), and support for controlled identifier capture.
See http://www.r6rs.org
(make-variable-transformer proc)
See http://www.r6rs.org
(identifier? obj)
See http://www.r6rs.org
(bound-identifier=? id1 id2)
See http://www.r6rs.org
(free-identifier=? id1 id2)
See http://www.r6rs.org
(syntax->datum syntax-object)
See http://www.r6rs.org
(datum->syntax template-id datum)
See http://www.r6rs.org
(generate-temporaries l)
See http://www.r6rs.org
(syntax-violation who message form)
See http://www.r6rs.org
(syntax-violation who message form subform)
See http://www.r6rs.org
(syntax template)
See http://www.r6rs.org
(quasisyntax template)