title: Clojure: what is difference between resolve and var?
body: <p>What is the difference between <code>(resolve...)</code> and <code>(var...)</code>?  They both take a symbol and return the var in the namespace.  Looks like resolve is a function which takes the quote syntax as the argument and var is a special form which takes the literal symbol typed at the repl, but I don't understand how these would be used differently.</p>
  
  <pre><code>user&gt; (def my-symbol 2.71828182846)
  #'user/my-symbol
  user&gt; (resolve 'my-symbol)
  #'user/my-symbol
  user&gt; (type (resolve 'my-symbol))
  clojure.lang.Var
  user&gt; (var my-symbol)
  #'user/my-symbol
  user&gt; (type (var my-symbol))
  clojure.lang.Var
  user&gt; (= (resolve 'my-symbol) (var my-symbol))
  true
  </code></pre>