Arc's macro system is more similar to Lisp than to Scheme; an Arc macro resembles a function that generates code.

Macros in Arc typically use quote and quasiquote to generate the code, and use uniq to generate unique symbols.

For details on the internals of Arc macros, see macro internals.