Too Long; Didn't Read
This is the second part of my journey to learn Clojure/Script macro. This article will deal with Clojure macro. It's easier to build from solid basics rather than eagerly jump to the last step. I like to go one step after another, thus I thought it is a good idea to learn how to write Clojure macro first. The idea of macro came from John McCarthy, who created the LISP language in the 1950s. He was fascinated by the idea of writing programs with "algebraic" means. For example, add-bubble will take thefunction as argument and generate thefunction which is the side-effect version of it.