Nur ne idee ...

Now a macro is a program that can modify your code. When a macro is encountered, it is passed your code in form of lists (because that is what you are writing in Clojure: simple dumb lists), which it can then modify.