             [cljs.analyzer :as ana]
             [cljs.repl :as repl]
             [clojure.string :as s]
-            [cljs.env]
+            [cljs.env :as env]
             [planck.io]))
 
 (def st (cljs/empty-state))

      (if (repl-special? form)
        (case (first form)
          in-ns (reset! current-ns (second (second form)))
          doc (if (repl-specials (second form))
                (repl/print-doc (repl-special-doc (second form)))
                (repl/print-doc

      {:error     true
       :exception e})))

(defn require [args]
  "((quote foo.bar) :reload)"
  (prn "require" args)
  (cljs.js/require
    {:*compiler*     (env/default-compiler-env)
     :*data-readers* tags/*cljs-data-readers*
     :*load-fn*      load
     :*eval-fn*      eval}
    (second (first args))
    (second args)
    (fn [res]
      (println "require result:" res))))

(defn ^:export read-eval-print [line]
  (binding [ana/*cljs-ns* @current-ns
            *ns* (create-ns @current-ns)
