Building on what we learned about macros in the previous chapter, we’ll now look at an example of a macro that converts blocking code to non-blocking code.
In this chapter we make the following assumptions:
You know how to use Leiningen to create and run applications.
You are receptive to the idea that macros are easily overused and should be used sparingly.
You have read through the Appendix ...