We've learned a bit about how ClojureScript's macro system works in bootstrapped mode over the past half year.
Here is a collection of posts I've made on the subject.
But first, it's probably worth reading https://github.com/clojure/clojurescript/wiki/Differences-from-Clojure#macros
- Portable Macro Musing was written prior to bootstrapped macros really being available (really—at the time all you could do was stuff like this.
- Runtime macroexpand is about using bootstrap's runtime capability to expand macros.
- Messing with Macros at the REPL explores a bit about how bootstrap macros are put into a pseudo-namespa