'
symbol used in the macroexpand example is just syntactic sugar for the quote
operator. You could have written (macroexpand (quote (infix 1 + 2)))
instead.Macros are just functions that run at compile time, i.e. during the eval
step in a read-eval-print-loop.
Reader macros are another form of macro that gets expanded at read time, rather than compile time.
Best practice when defining macro.
#
at the end of each symbol.