From 8df63aae42c40ac0413ccfacc3b2e8eb72e00a15 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 4 Dec 2020 01:13:01 -0400 Subject: Re-named old luxc-jvm to lux-bootstrapper. --- lux-bootstrapper/src/lux.clj | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 lux-bootstrapper/src/lux.clj (limited to 'lux-bootstrapper/src/lux.clj') diff --git a/lux-bootstrapper/src/lux.clj b/lux-bootstrapper/src/lux.clj new file mode 100644 index 000000000..dc6066669 --- /dev/null +++ b/lux-bootstrapper/src/lux.clj @@ -0,0 +1,35 @@ +(ns lux + (:gen-class) + (:require [lux.base :as & :refer [|let |do return return* |case]] + [lux.compiler :as &compiler] + [lux.repl :as &repl] + [clojure.string :as string] + :reload-all) + (:import (java.io File))) + +(def unit-separator (str (char 31))) + +(defn- separate-paths + "(-> Text (List Text))" + [paths] + (-> paths + (string/replace unit-separator "\n") + string/split-lines + rest + &/->list)) + +(defn -main [& args] + (|case (&/->list args) + (&/$Cons "release" (&/$Cons program-module (&/$Cons dependencies (&/$Cons source-dirs (&/$Cons target-dir (&/$Nil)))))) + (&compiler/compile-program &/$Build program-module + (separate-paths dependencies) + (separate-paths source-dirs) + target-dir) + + (&/$Cons "repl" (&/$Cons dependencies (&/$Cons source-dirs (&/$Cons target-dir (&/$Nil))))) + (&repl/repl (separate-paths dependencies) + (separate-paths source-dirs) + target-dir) + + _ + (println "Cannot understand command."))) -- cgit v1.2.3