 ; file here is an alternate parameter denoting a filesystem path
 (defn load [{:keys [name macros path file] :as full} cb]
   (if file
-    (when-not (load-and-callback! file :clj nil cb)
+    (when-not (load-and-callback! file :clj :calculate-cache-prefix cb)
       (cb nil))
     (if (re-matches #"^goog/.*" path)
       (if-let [goog-path (get (closure-index-mem) name)]

              source-text
              (if expression? "Expression" "File")
              (merge
                {:ns           @current-ns
                 :source-map   false
                 :verbose      (:verbose @app-env)
                 :cache-source (fn [x cb]
                                 #_(when (and path (:source x))
                                     (js/PLANCK_CACHE path (:source x) nil))
                                 (cb {:value nil}))}
                (when expression?
                  {:context       :expr
                   :def-emits-var true}))
              (fn [{:keys [ns value error] :as ret}]
                (if expression?
                  (when-not error

            {:lang   lang
             :source source}
            (when-not (= :js lang)
              (let [cache-prefix (if (= :calculate-cache-prefix cache-prefix)
                                   (cache-prefix-for-path (second (extract-cache-metadata-mem source)))
                                   cache-prefix)
                    precompiled-js (or (raw-load (add-suffix path ".js"))
                                     (js/PLANCK_READ_FILE (str cache-prefix ".js")))
                    cache-json (or (raw-load (str path ".cache.json"))
                                 (js/PLANCK_READ_FILE (str cache-prefix ".cache.json")))]
                (when precompiled-js
                  (when (:verbose @app-env)
                    (println-verbose "Loading precompiled JS" (if cache-json "and analysis cache" "") "for" path))
                  (merge {:lang   :js
                          :source precompiled-js}
                    (when cache-json
                      {:cache (transit-json->cljs cache-json)})))))))
      :loaded)))

(defn closure-index []
