The result of a preprocessor macro is exactly one expression. It is often useful, however, to return multiple expressions, say for example when you want one macro to define several instructions. The way to do this is to enclose all the expressions with begin . It's moderately clumsy to restrict begin like this. Symbol concatenation Symbol and string concatenation are supported.
Acceptable arguments are symbols, strings, and numbers.
The result is a symbol with the arguments concatenated together. Numbers are converted to a string, base 10, and then to a symbol. The result must be a valid Scheme symbol with the additional restriction that the first character must be a letter. Acceptable arguments are symbols, strings, and numbers. The result is a string with the arguments concatenated together.