diff options
-rw-r--r-- | luxc/src/lux/base.clj | 13 | ||||
-rw-r--r-- | luxc/src/lux/compiler/js.clj | 2 | ||||
-rw-r--r-- | luxc/src/lux/compiler/jvm.clj | 2 | ||||
-rw-r--r-- | stdlib/source/lux.lux | 26 |
4 files changed, 26 insertions, 17 deletions
diff --git a/luxc/src/lux/base.clj b/luxc/src/lux/base.clj index 2f2d879fe..c63cce34e 100644 --- a/luxc/src/lux/base.clj +++ b/luxc/src/lux/base.clj @@ -139,7 +139,8 @@ ("REPL" 0)) (deftuple - ["compiler-version" + ["compiler-name" + "compiler-version" "compiler-mode"]) ;; Hosts @@ -816,16 +817,18 @@ _ class-name)))) -(defn default-compiler-info [mode] - (T [;; compiler-version +(defn default-compiler-info [name mode] + (T [;; compiler-name + name + ;; compiler-version compiler-version ;; compiler-mode mode] )) -(defn init-state [mode host-data] +(defn init-state [name mode host-data] (T [;; "lux;info" - (default-compiler-info mode) + (default-compiler-info name mode) ;; "lux;source" $Nil ;; "lux;cursor" diff --git a/luxc/src/lux/compiler/js.clj b/luxc/src/lux/compiler/js.clj index 0f87050f6..c19a40dcd 100644 --- a/luxc/src/lux/compiler/js.clj +++ b/luxc/src/lux/compiler/js.clj @@ -176,7 +176,7 @@ :let [full-program-file (str @&&core/!output-dir java.io.File/separator "program.js") _ (&&core/write-file full-program-file (.getBytes (.toString total-buffer)))]] (return nil))] - (|case (m-action (&/init-state mode (&&/js-host))) + (|case (m-action (&/init-state "Lux/JS" mode (&&/js-host))) (&/$Right ?state _) (do (println "Compilation complete!") (&&cache/clean ?state)) diff --git a/luxc/src/lux/compiler/jvm.clj b/luxc/src/lux/compiler/jvm.clj index b3cb14642..22310201c 100644 --- a/luxc/src/lux/compiler/jvm.clj +++ b/luxc/src/lux/compiler/jvm.clj @@ -248,7 +248,7 @@ &&jvm-cache/uninstall-all-defs-in-module) _ (compile-module source-dirs "lux")] (compile-module source-dirs program-module))] - (|case (m-action (&/init-state mode (jvm-host))) + (|case (m-action (&/init-state "Lux/JVM" mode (jvm-host))) (&/$Right ?state _) (do (println "Compilation complete!") (&&cache/clean ?state)) diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux index 1a8d07922..c108428d8 100644 --- a/stdlib/source/lux.lux +++ b/stdlib/source/lux.lux @@ -597,17 +597,23 @@ default-def-meta-exported))) ## (type: Compiler-Info -## {#compiler-version Text +## {#compiler-name Text +## #compiler-version Text ## #compiler-mode Compiler-Mode}) (_lux_def Compiler-Info (#Named ["lux" "Compiler-Info"] - (#Product ## "lux;compiler-version" + (#Product + ## compiler-name Text - ## "lux;compiler-mode" - Compiler-Mode)) - (#Cons [["lux" "tags"] (#ListA (#Cons (#TextA "compiler-version") - (#Cons (#TextA "compiler-mode") - #Nil)))] + (#Product + ## compiler-version + Text + ## compiler-mode + Compiler-Mode))) + (#Cons [["lux" "tags"] (#ListA (#Cons (#TextA "compiler-name") + (#Cons (#TextA "compiler-version") + (#Cons (#TextA "compiler-mode") + #Nil))))] (#Cons [["lux" "doc"] (#TextA "Information about the current version and type of compiler that is running.")] default-def-meta-exported))) @@ -3530,8 +3536,8 @@ (#ExQ env body) (resolve-type-tags body) - - (#Named [module name] _) + + (#Named [module name] unnamed) (do Monad<Lux> [=module (find-module module) #let [{#module-hash _ #module-aliases _ #defs bindings #imports _ #tags tags #types types #module-anns _ #module-state _} =module]] @@ -3545,7 +3551,7 @@ (return #None)) _ - (return #None))) + (resolve-type-tags unnamed))) _ (return #None))) |