In many varieties of Scheme, including R6RS and Racket, the input and output of a macro transformer (i.e., source and replacement forms) are represented as syntax objects.
In many varieties of Scheme, including R6RS and Racket, the input and output of a macro transformer (i.e., source and replacement forms) are represented as syntax objects. A syntax object contains symbols, lists, and constant values (such as numbers) that essentially correspond to the quoted form of the expression, as well as source code location.