Clojureにおける、クオート

Clojureをみていると、

requireには、いろいろクオートが必要なのに、
nsは、あまりクオートを使わなくて、定義できて、
変なの、と思っていたが、
http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html
を読んで、なんとなく理解できた。


nsのオプションって、require とか useと関係あるのかなと思っていたが、
関係あって、nsはマクロで、内部的にrequireとか呼んでるようですね。


nsがマクロで、reqiureは関数と。


これまで、マクロも関数も、使う側からみると
あまり違いはないんじゃないかと思っていたけど、
クオートの必要、不必要は、マクロでは、ちょっと注意をする必要がありそう、だということがわかった。