From 037cbc3f9c383d53c724a8bb91dc9fbfe19eed1c Mon Sep 17 00:00:00 2001 From: moxaj Date: Mon, 5 Jun 2017 18:13:56 +0200 Subject: [PATCH 1/4] Port planck's eval implementation --- src/cljs/snapshot/lumo/repl.cljs | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/cljs/snapshot/lumo/repl.cljs b/src/cljs/snapshot/lumo/repl.cljs index eda91dcf..93745592 100644 --- a/src/cljs/snapshot/lumo/repl.cljs +++ b/src/cljs/snapshot/lumo/repl.cljs @@ -4,6 +4,7 @@ [cljs.analyzer.macros :refer [no-warn]] [lumo.repl :refer [with-err-str]]) (:require [cljs.analyzer :as ana] + [cljs.compiler :as comp] [cljs.env :as env] [cljs.js :as cljs] [cljs.reader :as reader] @@ -806,6 +807,57 @@ (filter matches? (public-syms ns))))) (all-ns))))) +;; Taken from planck eval implementation +;; The following atoms and fns set up a scheme to +;; emit function values into JavaScript as numeric +;; references that are looked up. + +(defonce ^:private fn-index (atom 0)) +(defonce ^:private fn-refs (atom {})) + +(defn- clear-fns! + "Clears saved functions." + [] + (reset! fn-refs {})) + +(defn- put-fn + "Saves a function, returning a numeric representation." + [f] + (let [n (swap! fn-index inc)] + (swap! fn-refs assoc n f) + n)) + +(defn- get-fn + "Gets a function, given its numeric representation." + [n] + (get @fn-refs n)) + +(defn- emit-fn [f] + (print "lumo.repl.get_fn(" (put-fn f) ")")) + +(defmethod comp/emit-constant js/Function + [f] + (emit-fn f)) + +(defmethod comp/emit-constant cljs.core/Var + [f] + (emit-fn f)) + +(defn eval + ([form] + (eval form (.-name *ns*))) + ([form ns] + (let [result (atom nil)] + (cljs/eval st form + {:ns ns + :context :expr + :def-emits-var true} + (fn [{:keys [value error]}] + (if error + (handle-error error true) + (reset! result value)))) + @result))) + ;; -------------------- ;; Code evaluation @@ -1029,6 +1081,7 @@ (defn- ^:export execute [type source-or-path expression? print-nil-result? setNS session-id] + (clear-fns!) (when setNS (vreset! current-ns (symbol setNS))) (execute-source source-or-path {:type type From 2ce9b6e8b961c7171296f7568c3eb7e6f9afe3c3 Mon Sep 17 00:00:00 2001 From: moxaj Date: Tue, 6 Jun 2017 00:25:07 +0200 Subject: [PATCH 2/4] `eval`: replace atoms with volatiles --- src/cljs/snapshot/lumo/repl.cljs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/cljs/snapshot/lumo/repl.cljs b/src/cljs/snapshot/lumo/repl.cljs index 93745592..e9fd63fc 100644 --- a/src/cljs/snapshot/lumo/repl.cljs +++ b/src/cljs/snapshot/lumo/repl.cljs @@ -812,19 +812,19 @@ ;; emit function values into JavaScript as numeric ;; references that are looked up. -(defonce ^:private fn-index (atom 0)) -(defonce ^:private fn-refs (atom {})) +(defonce ^:private fn-index (volatile! 0)) +(defonce ^:private fn-refs (volatile! {})) (defn- clear-fns! "Clears saved functions." [] - (reset! fn-refs {})) + (vreset! fn-refs {})) (defn- put-fn "Saves a function, returning a numeric representation." [f] - (let [n (swap! fn-index inc)] - (swap! fn-refs assoc n f) + (let [n (vswap! fn-index inc)] + (vswap! fn-refs assoc n f) n)) (defn- get-fn @@ -847,7 +847,7 @@ ([form] (eval form (.-name *ns*))) ([form ns] - (let [result (atom nil)] + (let [result (volatile! nil)] (cljs/eval st form {:ns ns :context :expr @@ -855,7 +855,7 @@ (fn [{:keys [value error]}] (if error (handle-error error true) - (reset! result value)))) + (vreset! result value)))) @result))) ;; -------------------- From 2c484f70b7e09f48c939ff7a86c45d7b879467dd Mon Sep 17 00:00:00 2001 From: moxaj Date: Tue, 6 Jun 2017 15:14:01 +0200 Subject: [PATCH 3/4] Change 'mv' to 'move' in windows script --- scripts/aot-bundle-macros.bat | 118 +++++++++++++++++----------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/scripts/aot-bundle-macros.bat b/scripts/aot-bundle-macros.bat index 16b3be0e..1cdee481 100644 --- a/scripts/aot-bundle-macros.bat +++ b/scripts/aot-bundle-macros.bat @@ -5,7 +5,7 @@ REM remove possible artifacts of failed compilations echo y | rd lumo-cljs /s REM move the backed up resources back to target -mv resources_bak target || goto :error +move resources_bak target || goto :error echo "### Compiling Macro Namespaces" @@ -13,65 +13,65 @@ mkdir lumo-cljs\out\macros-tmp || goto :error echo (require 'lumo.build.api 'lumo.analyzer 'lumo.cljs-deps 'lumo.classpath 'lumo.closure 'lumo.compiler 'lumo.io 'lumo.json 'lumo.util 'clojure.core.reducers 'clojure.zip 'clojure.data 'cljs.nodejs 'cljs.pprint 'cljs.test 'cljs.analyzer.api) (require-macros 'lumo.repl 'lumo.util 'clojure.template 'cljs.pprint 'cljs.support 'cljs.spec.alpha 'cljs.spec.gen.alpha 'cljs.test 'cljs.reader 'cljs.env.macros 'cljs.analyzer.macros 'cljs.compiler.macros) | build\lumo.exe --quiet -c target -sdk lumo-cljs/out/macros-tmp || goto :error -mv lumo-cljs\out\macros-tmp\clojure_SLASH_core_SLASH_reducers.js target\clojure\core\reducers.js || goto :error -mv lumo-cljs\out\macros-tmp\clojure_SLASH_core_SLASH_reducers.cache.json target\clojure\core\reducers.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\clojure_SLASH_data.js target\clojure\data.js || goto :error -mv lumo-cljs\out\macros-tmp\clojure_SLASH_data.cache.json target\clojure\data.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\clojure_SLASH_zip.js target\clojure\zip.js || goto :error -mv lumo-cljs\out\macros-tmp\clojure_SLASH_zip.cache.json target\clojure\zip.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_api.js target\cljs\analyzer\api.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_api.cache.json target\cljs\analyzer\api.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_analyzer.js target\lumo\analyzer.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_analyzer.cache.json target\lumo\analyzer.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_nodejs.js target\cljs\nodejs.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_nodejs.cache.json target\cljs\nodejs.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_pprint.js target\cljs\pprint.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_pprint.cache.json target\cljs\pprint.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_test.js target\cljs\test.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_test.cache.json target\cljs\test.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_build_SLASH_api.js target\lumo\build\api.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_build_SLASH_api.cache.json target\lumo\build\api.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_cljs_deps.js target\lumo\cljs_deps.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_cljs_deps.cache.json target\lumo\cljs_deps.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_classpath.js target\lumo\classpath.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_classpath.cache.json target\lumo\classpath.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_closure.js target\lumo\closure.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_closure.cache.json target\lumo\closure.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_compiler.js target\lumo\compiler.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_compiler.cache.json target\lumo\compiler.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_io.js target\lumo\io.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_io.cache.json target\lumo\io.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_json.js target\lumo\json.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_json.cache.json target\lumo\json.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_util.js target\lumo\util.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_util.cache.json target\lumo\util.cache.json || goto :error +move lumo-cljs\out\macros-tmp\clojure_SLASH_core_SLASH_reducers.js target\clojure\core\reducers.js || goto :error +move lumo-cljs\out\macros-tmp\clojure_SLASH_core_SLASH_reducers.cache.json target\clojure\core\reducers.cache.json || goto :error +move lumo-cljs\out\macros-tmp\clojure_SLASH_data.js target\clojure\data.js || goto :error +move lumo-cljs\out\macros-tmp\clojure_SLASH_data.cache.json target\clojure\data.cache.json || goto :error +move lumo-cljs\out\macros-tmp\clojure_SLASH_zip.js target\clojure\zip.js || goto :error +move lumo-cljs\out\macros-tmp\clojure_SLASH_zip.cache.json target\clojure\zip.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_api.js target\cljs\analyzer\api.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_api.cache.json target\cljs\analyzer\api.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_analyzer.js target\lumo\analyzer.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_analyzer.cache.json target\lumo\analyzer.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_nodejs.js target\cljs\nodejs.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_nodejs.cache.json target\cljs\nodejs.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_pprint.js target\cljs\pprint.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_pprint.cache.json target\cljs\pprint.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_test.js target\cljs\test.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_test.cache.json target\cljs\test.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_build_SLASH_api.js target\lumo\build\api.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_build_SLASH_api.cache.json target\lumo\build\api.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_cljs_deps.js target\lumo\cljs_deps.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_cljs_deps.cache.json target\lumo\cljs_deps.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_classpath.js target\lumo\classpath.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_classpath.cache.json target\lumo\classpath.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_closure.js target\lumo\closure.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_closure.cache.json target\lumo\closure.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_compiler.js target\lumo\compiler.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_compiler.cache.json target\lumo\compiler.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_io.js target\lumo\io.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_io.cache.json target\lumo\io.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_json.js target\lumo\json.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_json.cache.json target\lumo\json.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_util.js target\lumo\util.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_util.cache.json target\lumo\util.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_repl$macros.js target\lumo\repl$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_repl$macros.cache.json target\lumo\repl$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_util$macros.js target\lumo\util$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\lumo_SLASH_util$macros.cache.json target\lumo\util$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\clojure_SLASH_template$macros.js target\clojure\template$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\clojure_SLASH_template$macros.cache.json target\clojure\template$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_macros$macros.js target\cljs\analyzer\macros$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_macros$macros.cache.json target\cljs\analyzer\macros$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_compiler_SLASH_macros$macros.js target\cljs\compiler\macros$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_compiler_SLASH_macros$macros.cache.json target\cljs\compiler\macros$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_env_SLASH_macros$macros.js target\cljs\env\macros$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_env_SLASH_macros$macros.cache.json target\cljs\env\macros$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_pprint$macros.js target\cljs\pprint$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_pprint$macros.cache.json target\cljs\pprint$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_support$macros.js target\cljs\support$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_support$macros.cache.json target\cljs\support$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_test$macros.js target\cljs\test$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_test$macros.cache.json target\cljs\test$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_reader$macros.js target\cljs\reader$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_reader$macros.cache.json target\cljs\reader$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_tools_SLASH_reader_SLASH_reader_types$macros.cache.json target\cljs\tools\reader\reader_types$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_tools_SLASH_reader_SLASH_reader_types$macros.js target\cljs\tools\reader\reader_types$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_alpha$macros.js target\cljs\spec\alpha$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_alpha$macros.cache.json target\cljs\spec\alpha$macros.cache.json || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_gen_SLASH_alpha$macros.js target\cljs\spec\gen\alpha$macros.js || goto :error -mv lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_gen_SLASH_alpha$macros.cache.json target\cljs\spec\gen\alpha$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_repl$macros.js target\lumo\repl$macros.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_repl$macros.cache.json target\lumo\repl$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_util$macros.js target\lumo\util$macros.js || goto :error +move lumo-cljs\out\macros-tmp\lumo_SLASH_util$macros.cache.json target\lumo\util$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\clojure_SLASH_template$macros.js target\clojure\template$macros.js || goto :error +move lumo-cljs\out\macros-tmp\clojure_SLASH_template$macros.cache.json target\clojure\template$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_macros$macros.js target\cljs\analyzer\macros$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_macros$macros.cache.json target\cljs\analyzer\macros$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_compiler_SLASH_macros$macros.js target\cljs\compiler\macros$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_compiler_SLASH_macros$macros.cache.json target\cljs\compiler\macros$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_env_SLASH_macros$macros.js target\cljs\env\macros$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_env_SLASH_macros$macros.cache.json target\cljs\env\macros$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_pprint$macros.js target\cljs\pprint$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_pprint$macros.cache.json target\cljs\pprint$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_support$macros.js target\cljs\support$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_support$macros.cache.json target\cljs\support$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_test$macros.js target\cljs\test$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_test$macros.cache.json target\cljs\test$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_reader$macros.js target\cljs\reader$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_reader$macros.cache.json target\cljs\reader$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_tools_SLASH_reader_SLASH_reader_types$macros.cache.json target\cljs\tools\reader\reader_types$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_tools_SLASH_reader_SLASH_reader_types$macros.js target\cljs\tools\reader\reader_types$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_alpha$macros.js target\cljs\spec\alpha$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_alpha$macros.cache.json target\cljs\spec\alpha$macros.cache.json || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_gen_SLASH_alpha$macros.js target\cljs\spec\gen\alpha$macros.js || goto :error +move lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_gen_SLASH_alpha$macros.cache.json target\cljs\spec\gen\alpha$macros.cache.json || goto :error echo y | rd lumo-cljs /s From a3c9f14c3ff12a8146f60d032607a7d6020ad8e0 Mon Sep 17 00:00:00 2001 From: moxaj Date: Tue, 6 Jun 2017 15:30:08 +0200 Subject: [PATCH 4/4] Revert "Change 'mv' to 'move' in windows script" This reverts commit 2c484f70b7e09f48c939ff7a86c45d7b879467dd. --- scripts/aot-bundle-macros.bat | 118 +++++++++++++++++----------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/scripts/aot-bundle-macros.bat b/scripts/aot-bundle-macros.bat index 1cdee481..16b3be0e 100644 --- a/scripts/aot-bundle-macros.bat +++ b/scripts/aot-bundle-macros.bat @@ -5,7 +5,7 @@ REM remove possible artifacts of failed compilations echo y | rd lumo-cljs /s REM move the backed up resources back to target -move resources_bak target || goto :error +mv resources_bak target || goto :error echo "### Compiling Macro Namespaces" @@ -13,65 +13,65 @@ mkdir lumo-cljs\out\macros-tmp || goto :error echo (require 'lumo.build.api 'lumo.analyzer 'lumo.cljs-deps 'lumo.classpath 'lumo.closure 'lumo.compiler 'lumo.io 'lumo.json 'lumo.util 'clojure.core.reducers 'clojure.zip 'clojure.data 'cljs.nodejs 'cljs.pprint 'cljs.test 'cljs.analyzer.api) (require-macros 'lumo.repl 'lumo.util 'clojure.template 'cljs.pprint 'cljs.support 'cljs.spec.alpha 'cljs.spec.gen.alpha 'cljs.test 'cljs.reader 'cljs.env.macros 'cljs.analyzer.macros 'cljs.compiler.macros) | build\lumo.exe --quiet -c target -sdk lumo-cljs/out/macros-tmp || goto :error -move lumo-cljs\out\macros-tmp\clojure_SLASH_core_SLASH_reducers.js target\clojure\core\reducers.js || goto :error -move lumo-cljs\out\macros-tmp\clojure_SLASH_core_SLASH_reducers.cache.json target\clojure\core\reducers.cache.json || goto :error -move lumo-cljs\out\macros-tmp\clojure_SLASH_data.js target\clojure\data.js || goto :error -move lumo-cljs\out\macros-tmp\clojure_SLASH_data.cache.json target\clojure\data.cache.json || goto :error -move lumo-cljs\out\macros-tmp\clojure_SLASH_zip.js target\clojure\zip.js || goto :error -move lumo-cljs\out\macros-tmp\clojure_SLASH_zip.cache.json target\clojure\zip.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_api.js target\cljs\analyzer\api.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_api.cache.json target\cljs\analyzer\api.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_analyzer.js target\lumo\analyzer.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_analyzer.cache.json target\lumo\analyzer.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_nodejs.js target\cljs\nodejs.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_nodejs.cache.json target\cljs\nodejs.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_pprint.js target\cljs\pprint.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_pprint.cache.json target\cljs\pprint.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_test.js target\cljs\test.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_test.cache.json target\cljs\test.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_build_SLASH_api.js target\lumo\build\api.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_build_SLASH_api.cache.json target\lumo\build\api.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_cljs_deps.js target\lumo\cljs_deps.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_cljs_deps.cache.json target\lumo\cljs_deps.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_classpath.js target\lumo\classpath.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_classpath.cache.json target\lumo\classpath.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_closure.js target\lumo\closure.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_closure.cache.json target\lumo\closure.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_compiler.js target\lumo\compiler.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_compiler.cache.json target\lumo\compiler.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_io.js target\lumo\io.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_io.cache.json target\lumo\io.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_json.js target\lumo\json.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_json.cache.json target\lumo\json.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_util.js target\lumo\util.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_util.cache.json target\lumo\util.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\clojure_SLASH_core_SLASH_reducers.js target\clojure\core\reducers.js || goto :error +mv lumo-cljs\out\macros-tmp\clojure_SLASH_core_SLASH_reducers.cache.json target\clojure\core\reducers.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\clojure_SLASH_data.js target\clojure\data.js || goto :error +mv lumo-cljs\out\macros-tmp\clojure_SLASH_data.cache.json target\clojure\data.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\clojure_SLASH_zip.js target\clojure\zip.js || goto :error +mv lumo-cljs\out\macros-tmp\clojure_SLASH_zip.cache.json target\clojure\zip.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_api.js target\cljs\analyzer\api.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_api.cache.json target\cljs\analyzer\api.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_analyzer.js target\lumo\analyzer.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_analyzer.cache.json target\lumo\analyzer.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_nodejs.js target\cljs\nodejs.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_nodejs.cache.json target\cljs\nodejs.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_pprint.js target\cljs\pprint.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_pprint.cache.json target\cljs\pprint.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_test.js target\cljs\test.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_test.cache.json target\cljs\test.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_build_SLASH_api.js target\lumo\build\api.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_build_SLASH_api.cache.json target\lumo\build\api.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_cljs_deps.js target\lumo\cljs_deps.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_cljs_deps.cache.json target\lumo\cljs_deps.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_classpath.js target\lumo\classpath.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_classpath.cache.json target\lumo\classpath.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_closure.js target\lumo\closure.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_closure.cache.json target\lumo\closure.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_compiler.js target\lumo\compiler.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_compiler.cache.json target\lumo\compiler.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_io.js target\lumo\io.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_io.cache.json target\lumo\io.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_json.js target\lumo\json.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_json.cache.json target\lumo\json.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_util.js target\lumo\util.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_util.cache.json target\lumo\util.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_repl$macros.js target\lumo\repl$macros.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_repl$macros.cache.json target\lumo\repl$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_util$macros.js target\lumo\util$macros.js || goto :error -move lumo-cljs\out\macros-tmp\lumo_SLASH_util$macros.cache.json target\lumo\util$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\clojure_SLASH_template$macros.js target\clojure\template$macros.js || goto :error -move lumo-cljs\out\macros-tmp\clojure_SLASH_template$macros.cache.json target\clojure\template$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_macros$macros.js target\cljs\analyzer\macros$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_macros$macros.cache.json target\cljs\analyzer\macros$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_compiler_SLASH_macros$macros.js target\cljs\compiler\macros$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_compiler_SLASH_macros$macros.cache.json target\cljs\compiler\macros$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_env_SLASH_macros$macros.js target\cljs\env\macros$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_env_SLASH_macros$macros.cache.json target\cljs\env\macros$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_pprint$macros.js target\cljs\pprint$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_pprint$macros.cache.json target\cljs\pprint$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_support$macros.js target\cljs\support$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_support$macros.cache.json target\cljs\support$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_test$macros.js target\cljs\test$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_test$macros.cache.json target\cljs\test$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_reader$macros.js target\cljs\reader$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_reader$macros.cache.json target\cljs\reader$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_tools_SLASH_reader_SLASH_reader_types$macros.cache.json target\cljs\tools\reader\reader_types$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_tools_SLASH_reader_SLASH_reader_types$macros.js target\cljs\tools\reader\reader_types$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_alpha$macros.js target\cljs\spec\alpha$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_alpha$macros.cache.json target\cljs\spec\alpha$macros.cache.json || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_gen_SLASH_alpha$macros.js target\cljs\spec\gen\alpha$macros.js || goto :error -move lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_gen_SLASH_alpha$macros.cache.json target\cljs\spec\gen\alpha$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_repl$macros.js target\lumo\repl$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_repl$macros.cache.json target\lumo\repl$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_util$macros.js target\lumo\util$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\lumo_SLASH_util$macros.cache.json target\lumo\util$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\clojure_SLASH_template$macros.js target\clojure\template$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\clojure_SLASH_template$macros.cache.json target\clojure\template$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_macros$macros.js target\cljs\analyzer\macros$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_analyzer_SLASH_macros$macros.cache.json target\cljs\analyzer\macros$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_compiler_SLASH_macros$macros.js target\cljs\compiler\macros$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_compiler_SLASH_macros$macros.cache.json target\cljs\compiler\macros$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_env_SLASH_macros$macros.js target\cljs\env\macros$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_env_SLASH_macros$macros.cache.json target\cljs\env\macros$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_pprint$macros.js target\cljs\pprint$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_pprint$macros.cache.json target\cljs\pprint$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_support$macros.js target\cljs\support$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_support$macros.cache.json target\cljs\support$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_test$macros.js target\cljs\test$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_test$macros.cache.json target\cljs\test$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_reader$macros.js target\cljs\reader$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_reader$macros.cache.json target\cljs\reader$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_tools_SLASH_reader_SLASH_reader_types$macros.cache.json target\cljs\tools\reader\reader_types$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_tools_SLASH_reader_SLASH_reader_types$macros.js target\cljs\tools\reader\reader_types$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_alpha$macros.js target\cljs\spec\alpha$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_alpha$macros.cache.json target\cljs\spec\alpha$macros.cache.json || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_gen_SLASH_alpha$macros.js target\cljs\spec\gen\alpha$macros.js || goto :error +mv lumo-cljs\out\macros-tmp\cljs_SLASH_spec_SLASH_gen_SLASH_alpha$macros.cache.json target\cljs\spec\gen\alpha$macros.cache.json || goto :error echo y | rd lumo-cljs /s