       {: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)


(defn load-and-callback! [path extension cb]
  (let [full-path (form-full-path path extension)]
    (cb {:lang   (extension->lang extension)
         :source (planck.io/slurp full-path)})))


  (print (str @current-ns "=> ")))

(defn form-full-path [relative-path extension]
  (str "/Users/mfikes/Projects/planck/ClojureScript/planck/src/"
    relative-path extension))

(defn extension->lang [extension]
