@maddie has joined the channel
cool, spread the word this is the best channel to hang out in for Miami Clojure Meetup.
there are lots of other interesting channels, mainly for asking questions about Clojure (#clojure), ClojureScript (#clojurescript) setting up Emacs and Cider #emacs and #cider respectively for Clojure/ClojureScript development etc.
there’s also #events and #jobs which may be of interest...
oh and #code-reviews which are a great way to get constructive criticism
@tailrecur has joined the channel
yay! simple_smile
@maddie: may be of interest to you http://www.clojurebridge.org/
Just signed up! simple_smile
re: macroexpand
there are two macro-expansions available:
macroexpand-1 or macroexpand-all
a macro is a code-rewriter or template engine
think of it like a super-powerful search-and-replace for code
kind of how the C language has a pre-processor which handles #define statements
Clojure’s macros are evaluated at “compile” time
and they re-write your code (usually to a longer version)
macros can generate code that contains. … other macros
this re-writing (or expansion) is recursive
but eventually you will hit something truly “primitive” like a function
macroexpand-1 only does 1 level of macro rewriting
macroexpand-all will go all the way down the rabbit hole and do all of the recursive expansion till you ground out