title: IllegalArgumentException: No implementation of method: :as-file of protocol: #'clojure.java.io/Coercions found for class: clojure.lang.Symbol
body: <p>I'm trying to write a macro for use from ClojureScript to handle file I/O for a Reagent app. I get this error:</p>
  <pre><code>IllegalArgumentException: No implementation of method: :as-file of protocol: #'clojure.java.io/Coercions found for class: clojure.lang.Symbol
  </code></pre>
  <p>When I try to do the following:</p>
  <pre><code>(def file-string &quot;/Users/luciano/Dropbox/projects/test/resources/blog/test.md&quot;)
  (get-file file-string)
  </code></pre>
  <p>But I can do this just fine:</p>
  <pre><code>(get-file &quot;/Users/luciano/Dropbox/projects/test/resources/blog/test.md&quot;)
  </code></pre>
  <p>This is the macro:</p>
  <pre><code>(defmacro get-file [fname]
    (slurp (io/file fname)))
  </code></pre>
  <p>What am I doing wrong here?</p>