   (fn [js-source]
     (throw (js/Error. "No *eval-fn* set"))))
 
-(defn empty-env []
+(defn empty-state []
   (env/default-compiler-env))
 
 ;; -----------------------------------------------------------------------------

             (cb))))))))

(defn load-deps
  ([bound-vars ana-env lib deps cb] (analyze-deps bound-vars lib deps nil cb))
  ([bound-vars ana-env lib deps opts cb]
   (let [compiler @(:*compiler* bound-vars)]
     (binding [ana/*cljs-dep-set* (vary-meta (conj (:*cljs-dep-set* bound-vars) lib)

;; -----------------------------------------------------------------------------
;; Emit

(defn emit* [bound-vars ast cb]
  (binding [env/*compiler* (:*compiler* bound-vars)]
    (cb (with-out-str (comp/emit ast)))))

(defn emit [state ast cb]
  (emit* {:*compiler* state} ast cb))

;; -----------------------------------------------------------------------------
;; Eval
