title: How to convert a string to a function in Clojure?
body: <p>I've been working on <a href="http://www.4clojure.com/problem/135">Clojure question 135 Infix Calculator</a>, basically a simplified infix to prefix arithmetic calculator:</p>
  
  <pre><code>(= 7  (__ 2 + 5))
  </code></pre>
  
  <p>I solved the problem as specified. But that got me wondering - what if the argument had been supplied as a string - how would I get it to work?</p>
  
  <pre><code>(= 7  (__ "2 + 5"))
  </code></pre>
  
  <p>Obviously I'd start with a <strong>split</strong>, then munch through the result:</p>
  
  <pre><code>(clojure.string/split "2 + 5" #"\s")
  user=&gt; ["2" "+" "5"]
  </code></pre>
  
  <p>But how would I convert the "+" to a function call? This isn't going to work:</p>
  
  <pre><code>("+" 2 5)
  user=&gt; java.lang.ClassCastException: java.lang.String cannot be 
  cast to clojure.lang.IFn &lt;snip&gt;
  </code></pre>
  
  <p>Enlightenment sought....</p>