I wanted to wrap the dispatch macro in another for cleanliness. However, Clojure seems to treat it differently ... or perhaps I am misunderstanding something? Let's look at the case of simply making an alias for #
.
This works:
(defmacro mkDef [x y] `~(list 'def x y))
But this doesn't:
(defmacro mkDispatch [x] `~(list '# x))
Thanks!!
P.S. someone with enough rep: please create a syntax-macros tag; I'd love to be able to search for similar questions better.
The # dispatch macro is a reader macro, and reader macros cannot be implemented using regular macros; they're interpreted by (read) instead of (eval).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With