title: Trying to pass java member function as a var
body: <p>
  If I run the following code in the REPL</p>
  
  <pre class="lang-lisp prettyprint-override"><code>(let [f '.startsWith] (f "abab" "a"))
  </code></pre>
  
  <p>it is evaluated to "a" instead of 'true'. Could someone please explain me this surprising result?</p>
  
  <p>Actually, the real code, I want to make work is the following.</p>
  
  <pre class="lang-lisp prettyprint-override"><code>(defn set-up-bean! [bean functions-and-parameters]
    (doseq [[f p] functions-and-parameters]
      (f bean p))
    (.init bean))
  </code></pre>
  
  <p>What I want to achieve is, to make the following two function calls do the same thing.</p>
  
  <pre class="lang-lisp prettyprint-override"><code>(set-up-bean! bean [['.setMember "a"]])
  </code></pre>
  
  <p>and</p>
  
  <pre class="lang-lisp prettyprint-override"><code>(do
    (.setMember bean "a")
    (.init bean))
  </code></pre>