       r#)))
  
 (defn do-eval [txt session-key]
+  "Evaluate an expression sent to the web REPL and return the result
+  or an error description."
   (with-session session-key
     (let [form (binding [*read-eval* false] (read-string txt))]
       (with-open [writer (java.io.StringWriter.)]

            [ring.util.response :refer [response]]
            [taoensso.timbre :refer [info warn spy]]))

(defonce repl-sessions (ref {}))
 
(defn current-bindings []
  (binding [*ns* *ns*
            *warn-on-reflection* *warn-on-reflection*
            *math-context* *math-context*

       (commute repl-sessions assoc session-key (current-bindings)))))
  (@repl-sessions session-key))
 
(defn- store-bindings-for [session-key]
  (dosync
    (commute repl-sessions assoc session-key (current-bindings))))
 
