aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--luxc/src/lux/base.clj13
-rw-r--r--luxc/src/lux/compiler/js.clj2
-rw-r--r--luxc/src/lux/compiler/jvm.clj2
-rw-r--r--stdlib/source/lux.lux26
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)))