title: clojure list? and macros
body: <p>I'm trying to understand how clojure macros apply to lists. I'm confused by the following:</p>
  
  <pre><code>(defmacro islist [f] (list? f))
  (islist (1 2)) ; true
  (islist '(1 2)) ; false
  (islist (quote (1 2))) ; true
  </code></pre>
  
  <p>Is this expected? I've noticed that lists I pass to to macros return false when evaluated with <code>list?</code> inside the macro. That is, the second example is particularly confusing.</p>