aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lux-mode/lux-mode.el13
-rw-r--r--luxc/src/lux/analyser.clj10
-rw-r--r--luxc/src/lux/analyser/case.clj6
-rw-r--r--luxc/src/lux/analyser/lux.clj2
-rw-r--r--luxc/src/lux/analyser/module.clj6
-rw-r--r--luxc/src/lux/base.clj4
-rw-r--r--luxc/src/lux/compiler/cache.clj6
-rw-r--r--luxc/src/lux/compiler/cache/ann.clj8
-rw-r--r--luxc/src/lux/compiler/jvm/lux.clj4
-rw-r--r--luxc/src/lux/lexer.clj8
-rw-r--r--luxc/src/lux/parser.clj4
-rw-r--r--luxc/src/lux/type.clj2
-rw-r--r--new-luxc/source/luxc/lang/extension/statement.lux8
-rw-r--r--new-luxc/source/luxc/lang/host/jvm.lux20
-rw-r--r--new-luxc/source/luxc/lang/host/jvm/inst.lux8
-rw-r--r--new-luxc/source/luxc/lang/translation.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/expression.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux16
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/js/expression.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/js/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/expression.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux10
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/php/expression.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux14
-rw-r--r--new-luxc/source/luxc/lang/translation/php/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/python/expression.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux14
-rw-r--r--new-luxc/source/luxc/lang/translation/python/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/r/expression.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux14
-rw-r--r--new-luxc/source/luxc/lang/translation/r/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/expression.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux10
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux2
-rw-r--r--new-luxc/test/test/luxc/common.lux172
-rw-r--r--new-luxc/test/test/luxc/lang/translation/primitive.lux55
-rw-r--r--new-luxc/test/tests.lux61
-rw-r--r--stdlib/source/lux.lux334
-rw-r--r--stdlib/source/lux/cli.lux8
-rw-r--r--stdlib/source/lux/compiler/default/phase/analysis/case.lux2
-rw-r--r--stdlib/source/lux/compiler/default/phase/analysis/expression.lux4
-rw-r--r--stdlib/source/lux/compiler/default/phase/analysis/reference.lux2
-rw-r--r--stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux4
-rw-r--r--stdlib/source/lux/compiler/default/phase/translation/scheme/runtime.jvm.lux14
-rw-r--r--stdlib/source/lux/compiler/default/syntax.lux6
-rw-r--r--stdlib/source/lux/concurrency/actor.lux54
-rw-r--r--stdlib/source/lux/control/comonad.lux6
-rw-r--r--stdlib/source/lux/control/concatenative.lux8
-rw-r--r--stdlib/source/lux/control/exception.lux6
-rw-r--r--stdlib/source/lux/control/monad.lux6
-rw-r--r--stdlib/source/lux/data/collection/list.lux30
-rw-r--r--stdlib/source/lux/data/error.lux2
-rw-r--r--stdlib/source/lux/data/format/binary.lux2
-rw-r--r--stdlib/source/lux/data/maybe.lux2
-rw-r--r--stdlib/source/lux/data/text/regex.lux16
-rw-r--r--stdlib/source/lux/host.jvm.lux76
-rw-r--r--stdlib/source/lux/io.lux2
-rw-r--r--stdlib/source/lux/macro.lux54
-rw-r--r--stdlib/source/lux/macro/code.lux58
-rw-r--r--stdlib/source/lux/macro/poly.lux18
-rw-r--r--stdlib/source/lux/macro/poly/equivalence.lux16
-rw-r--r--stdlib/source/lux/macro/poly/functor.lux16
-rw-r--r--stdlib/source/lux/macro/poly/json.lux22
-rw-r--r--stdlib/source/lux/macro/syntax.lux32
-rw-r--r--stdlib/source/lux/macro/syntax/common/reader.lux10
-rw-r--r--stdlib/source/lux/macro/syntax/common/writer.lux6
-rw-r--r--stdlib/source/lux/math.lux2
-rw-r--r--stdlib/source/lux/test.lux2
-rw-r--r--stdlib/source/lux/type.lux10
-rw-r--r--stdlib/source/lux/type/abstract.lux28
-rw-r--r--stdlib/source/lux/type/implicit.lux16
-rw-r--r--stdlib/source/lux/type/quotient.lux2
-rw-r--r--stdlib/source/lux/type/refinement.lux2
-rw-r--r--stdlib/source/lux/type/unit.lux14
-rw-r--r--stdlib/test/test/lux/compiler/default/phase/analysis/function.lux4
-rw-r--r--stdlib/test/test/lux/compiler/default/phase/analysis/procedure/common.lux6
-rw-r--r--stdlib/test/test/lux/compiler/default/phase/analysis/reference.lux6
-rw-r--r--stdlib/test/test/lux/compiler/default/syntax.lux2
-rw-r--r--stdlib/test/test/lux/data/name.lux2
-rw-r--r--stdlib/test/test/lux/macro/code.lux4
-rw-r--r--stdlib/test/test/lux/macro/syntax.lux26
94 files changed, 743 insertions, 744 deletions
diff --git a/lux-mode/lux-mode.el b/lux-mode/lux-mode.el
index 236553f73..712d2d649 100644
--- a/lux-mode/lux-mode.el
+++ b/lux-mode/lux-mode.el
@@ -214,9 +214,9 @@ Called by `imenu--generic-function'."
(defconst lux-font-lock-keywords
(let ((digits "[0-9][0-9_]*")
(digits+ "[0-9_]+")
- (symbol_h "[a-zA-Z-\\+_=!@\\$%\\^&\\*<>;,/\\\\\\|':~\\?]")
- (symbol_t "[a-zA-Z0-9-\\+_=!@\\$%\\^&\\*<>;,/\\\\\\|':~\\?]"))
- (let ((symbol (concat symbol_h symbol_t "*")))
+ (identifier_h "[a-zA-Z-\\+_=!@\\$%\\^&\\*<>;,/\\\\\\|':~\\?]")
+ (identifier_t "[a-zA-Z0-9-\\+_=!@\\$%\\^&\\*<>;,/\\\\\\|':~\\?]"))
+ (let ((identifier (concat identifier_h identifier_t "*")))
(let ((bitRE (concat "\\<" (regexp-opt '("#0" "#1") t) "\\>"))
(natRE (concat "\\<\\+" digits "\\>"))
(int&fracRE (concat "\\<-?" digits "\\(\\." digits+ "\\(\\(e\\|E\\)\\(-\\|\\+\\)?" digits "\\)?\\)?\\>"))
@@ -225,9 +225,9 @@ Called by `imenu--generic-function'."
(tagRE (let ((separator "\\."))
(let ((in-prelude separator)
(in-current-module (concat separator separator))
- (in-module (concat symbol separator))
+ (in-module (concat identifier separator))
(in-local ""))
- (concat "#" (altRE in-prelude in-current-module in-module in-local) symbol)))))
+ (concat "#" (altRE in-prelude in-current-module in-module in-local) identifier)))))
(eval-when-compile
`(;; Special forms
(,(let (;; Control
@@ -372,7 +372,7 @@ This function also returns nil meaning don't specify the indentation."
(parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t)
(if (and (elt state 2)
(not (looking-at "\\sw\\|\\s_")))
- ;; car of form doesn't seem to be a symbol
+ ;; car of form doesn't seem to be an identifier
(progn
(if (not (> (save-excursion (forward-line 1) (point))
calculate-lisp-indent-last-sexp))
@@ -422,7 +422,6 @@ This function also returns nil meaning don't specify the indentation."
kvs)))
(define-lux-indent
- (def 'defun)
(function 'defun)
(let 'defun)
(case 'defun)
diff --git a/luxc/src/lux/analyser.clj b/luxc/src/lux/analyser.clj
index 6e2d8f7aa..f818572e5 100644
--- a/luxc/src/lux/analyser.clj
+++ b/luxc/src/lux/analyser.clj
@@ -101,9 +101,9 @@
(&/with-analysis-meta cursor exo-type
(analyse-variant+ analyse exo-type ?ident &/$Nil))
- (&/$Symbol ?ident)
+ (&/$Identifier ?ident)
(&/with-analysis-meta cursor exo-type
- (&&lux/analyse-symbol analyse exo-type ?ident))
+ (&&lux/analyse-identifier analyse exo-type ?ident))
(&/$Form (&/$Cons [command-meta command] parameters))
(|case command
@@ -128,7 +128,7 @@
(&&lux/analyse-coerce analyse eval! exo-type ?type ?value)))
"lux def"
- (|let [(&/$Cons [_ (&/$Symbol "" ?name)]
+ (|let [(&/$Cons [_ (&/$Identifier "" ?name)]
(&/$Cons ?value
(&/$Cons ?meta
(&/$Nil))
@@ -176,8 +176,8 @@
(&&lux/analyse-case analyse exo-type ?input ?pattern-matching)))
;; Function syntax.
- (&/$Tuple (&/$Cons [_ (&/$Symbol "" ?self)]
- (&/$Cons [_ (&/$Symbol "" ?arg)] (&/$Nil))))
+ (&/$Tuple (&/$Cons [_ (&/$Identifier "" ?self)]
+ (&/$Cons [_ (&/$Identifier "" ?arg)] (&/$Nil))))
(|let [(&/$Cons ?body (&/$Nil)) parameters]
(&/with-analysis-meta cursor exo-type
(&&lux/analyse-function analyse exo-type ?self ?arg ?body)))
diff --git a/luxc/src/lux/analyser/case.clj b/luxc/src/lux/analyser/case.clj
index 73b4c8df2..4d7b4ccca 100644
--- a/luxc/src/lux/analyser/case.clj
+++ b/luxc/src/lux/analyser/case.clj
@@ -252,7 +252,7 @@
(defn ^:private analyse-pattern [var?? value-type pattern kont]
(|let [[meta pattern*] pattern]
(|case pattern*
- (&/$Symbol "" name)
+ (&/$Identifier "" name)
(|case var??
(&/$Some var-analysis)
(|do [=kont (&env/with-alias name var-analysis
@@ -265,8 +265,8 @@
idx &env/next-local-idx]
(return (&/T [($StoreTestAC idx) =kont]))))
- (&/$Symbol ident)
- (&/fail-with-loc (str "[Pattern-matching Error] Symbols must be unqualified: " (&/ident->text ident)))
+ (&/$Identifier ident)
+ (&/fail-with-loc (str "[Pattern-matching Error] Identifiers must be unqualified: " (&/ident->text ident)))
(&/$Bit ?value)
(|do [_ (&type/check value-type &type/Bit)
diff --git a/luxc/src/lux/analyser/lux.clj b/luxc/src/lux/analyser/lux.clj
index 35ac72e93..236eb10a9 100644
--- a/luxc/src/lux/analyser/lux.clj
+++ b/luxc/src/lux/analyser/lux.clj
@@ -300,7 +300,7 @@
(&/set$ &/$scopes (&/|++ inner* outer) state)))
))))
-(defn analyse-symbol [analyse exo-type ident]
+(defn analyse-identifier [analyse exo-type ident]
(|do [:let [[?module ?name] ident]]
(if (= "" ?module)
(analyse-local analyse exo-type ?name)
diff --git a/luxc/src/lux/analyser/module.clj b/luxc/src/lux/analyser/module.clj
index 4174932ca..5d72d5e87 100644
--- a/luxc/src/lux/analyser/module.clj
+++ b/luxc/src/lux/analyser/module.clj
@@ -236,7 +236,7 @@
(|let [[?type ?meta ?value] $def]
(if (.equals ^Object current-module module)
(|case (&meta/meta-get &meta/alias-tag ?meta)
- (&/$Some [_ (&/$Symbol [?r-module ?r-name])])
+ (&/$Some [_ (&/$Identifier [?r-module ?r-name])])
((find-def! ?r-module ?r-name)
state)
@@ -262,7 +262,7 @@
(|let [[?type ?meta ?value] $def]
(if (.equals ^Object current-module module)
(|case (&meta/meta-get &meta/alias-tag ?meta)
- (&/$Some [_ (&/$Symbol [?r-module ?r-name])])
+ (&/$Some [_ (&/$Identifier [?r-module ?r-name])])
((find-def ?r-module ?r-name)
state)
@@ -427,7 +427,7 @@
(|let [[k _def-data] kv
[_ ?def-meta _] _def-data]
(|case (&meta/meta-get &meta/alias-tag ?def-meta)
- (&/$Some [_ (&/$Symbol [?r-module ?r-name])])
+ (&/$Some [_ (&/$Identifier [?r-module ?r-name])])
(&/T [k (str ?r-module &/+name-separator+ ?r-name) _def-data])
_
diff --git a/luxc/src/lux/base.clj b/luxc/src/lux/base.clj
index 464b7b585..e6fecf367 100644
--- a/luxc/src/lux/base.clj
+++ b/luxc/src/lux/base.clj
@@ -77,7 +77,7 @@
("Rev" 1)
("Frac" 1)
("Text" 1)
- ("Symbol" 1)
+ ("Identifier" 1)
("Tag" 1)
("Form" 1)
("Tuple" 1)
@@ -1227,7 +1227,7 @@
(str "#" ?tag)
(str "#" ?module +name-separator+ ?tag))
- [_ ($Symbol ?module ?name)]
+ [_ ($Identifier ?module ?name)]
(if (.equals "" ?module)
?name
(str ?module +name-separator+ ?name))
diff --git a/luxc/src/lux/compiler/cache.clj b/luxc/src/lux/compiler/cache.clj
index 0b8739463..d6b5e8317 100644
--- a/luxc/src/lux/compiler/cache.clj
+++ b/luxc/src/lux/compiler/cache.clj
@@ -89,8 +89,8 @@
(defn make-tag [ident]
(&/T [(&/T ["" 0 0]) (&/$Tag ident)]))
-(defn make-symbol [ident]
- (&/T [(&/T ["" 0 0]) (&/$Symbol ident)]))
+(defn make-identifier [ident]
+ (&/T [(&/T ["" 0 0]) (&/$Identifier ident)]))
(defn make-record [ident]
(&/T [(&/T ["" 0 0]) (&/$Record ident)]))
@@ -101,7 +101,7 @@
2 (let [[_name _alias] parts
[_ __module __name] (re-find #"^(.*)\.(.*)$" _alias)
def-anns (make-record (&/|list (&/T [(make-tag &a-meta/alias-tag)
- (make-symbol (&/T [__module __name]))])))]
+ (make-identifier (&/T [__module __name]))])))]
(|do [def-type (&a-module/def-type __module __name)
def-value (load-def-value __module __name)]
(&a-module/define module _name def-type def-anns def-value)))
diff --git a/luxc/src/lux/compiler/cache/ann.clj b/luxc/src/lux/compiler/cache/ann.clj
index bab3d20c7..a7def470a 100644
--- a/luxc/src/lux/compiler/cache/ann.clj
+++ b/luxc/src/lux/compiler/cache/ann.clj
@@ -42,7 +42,7 @@
[_ (&/$Text value)]
(str "T" value stop)
- [_ (&/$Symbol ident)]
+ [_ (&/$Identifier ident)]
(str "@" (serialize-ident ident) stop)
[_ (&/$Tag ident)]
@@ -91,8 +91,8 @@
[_module _name] (.split ident* "\\." 2)]
[(&/T [dummy-cursor (<tag> (&/T [_module _name]))]) input*])))
- ^:private deserialize-symbol "@" &/$Symbol
- ^:private deserialize-tag "#" &/$Tag)
+ ^:private deserialize-identifier "@" &/$Identifier
+ ^:private deserialize-tag "#" &/$Tag)
(defn ^:private deserialize-seq [deserializer ^String input]
(cond (.startsWith input nil-signal)
@@ -130,7 +130,7 @@
(deserialize-rev input)
(deserialize-frac input)
(deserialize-text input)
- (deserialize-symbol input)
+ (deserialize-identifier input)
(deserialize-tag input)
(deserialize-form input)
(deserialize-tuple input)
diff --git a/luxc/src/lux/compiler/jvm/lux.clj b/luxc/src/lux/compiler/jvm/lux.clj
index d9b9f00d0..06a6650d9 100644
--- a/luxc/src/lux/compiler/jvm/lux.clj
+++ b/luxc/src/lux/compiler/jvm/lux.clj
@@ -300,7 +300,7 @@
(|do [module-name &/get-module-name
class-loader &/loader]
(|case (&a-meta/meta-get &a-meta/alias-tag ?meta)
- (&/$Some [_ (&/$Symbol [r-module r-name])])
+ (&/$Some [_ (&/$Identifier [r-module r-name])])
(|case ?meta
[_ (&/$Record ?meta*)]
(if (= 1 (&/|length ?meta*))
@@ -315,7 +315,7 @@
(&/fail-with-loc (str "[Compilation Error] Aliases cannot contain meta-data: " (str module-name &/+name-separator+ ?name)))))
(&/$Some _)
- (&/fail-with-loc "[Compilation Error] Invalid syntax for lux;alias meta-data. Must be a symbol.")
+ (&/fail-with-loc "[Compilation Error] Invalid syntax for lux;alias meta-data. Must be an identifier.")
_
(|case (de-ann ?body)
diff --git a/luxc/src/lux/lexer.clj b/luxc/src/lux/lexer.clj
index aac212e26..354bf98e2 100644
--- a/luxc/src/lux/lexer.clj
+++ b/luxc/src/lux/lexer.clj
@@ -15,7 +15,7 @@
("Rev" 1)
("Frac" 1)
("Text" 1)
- ("Symbol" 1)
+ ("Identifier" 1)
("Tag" 1)
("Open_Paren" 0)
("Close_Paren" 0)
@@ -170,9 +170,9 @@
(return (&/T [meta (&/T ["lux" token])])))
)))
-(def ^:private lex-symbol
+(def ^:private lex-identifier
(|do [[meta ident] lex-ident]
- (return (&/T [meta ($Symbol ident)]))))
+ (return (&/T [meta ($Identifier ident)]))))
(def ^:private lex-tag
(|do [[meta _ _] (&reader/read-text "#")
@@ -211,6 +211,6 @@
lex-rev
lex-int
lex-text
- lex-symbol
+ lex-identifier
lex-tag
lex-delimiter)))
diff --git a/luxc/src/lux/parser.clj b/luxc/src/lux/parser.clj
index 7a58059b0..dd33129b8 100644
--- a/luxc/src/lux/parser.clj
+++ b/luxc/src/lux/parser.clj
@@ -82,8 +82,8 @@
(&lexer/$Text ?value)
(return (&/|list (&/T [meta (&/$Text ?value)])))
- (&lexer/$Symbol ?ident)
- (return (&/|list (&/T [meta (&/$Symbol ?ident)])))
+ (&lexer/$Identifier ?ident)
+ (return (&/|list (&/T [meta (&/$Identifier ?ident)])))
(&lexer/$Tag ?ident)
(return (&/|list (&/T [meta (&/$Tag ?ident)])))
diff --git a/luxc/src/lux/type.clj b/luxc/src/lux/type.clj
index 8a498463e..66a072a10 100644
--- a/luxc/src/lux/type.clj
+++ b/luxc/src/lux/type.clj
@@ -162,7 +162,7 @@
Frac
(&/$Sum ;; "lux;Text"
Text
- (&/$Sum ;; "lux;Symbol"
+ (&/$Sum ;; "lux;Identifier"
Ident
(&/$Sum ;; "lux;Tag"
Ident
diff --git a/new-luxc/source/luxc/lang/extension/statement.lux b/new-luxc/source/luxc/lang/extension/statement.lux
index 9b7b9da52..7ee6b898d 100644
--- a/new-luxc/source/luxc/lang/extension/statement.lux
+++ b/new-luxc/source/luxc/lang/extension/statement.lux
@@ -54,7 +54,7 @@
(def: (ensure-valid-alias def-name annotations value)
(-> Text Code Code (Meta Any))
(case [annotations value]
- (^multi [[_ (#.Record pairs)] [_ (#.Symbol _)]]
+ (^multi [[_ (#.Record pairs)] [_ (#.Identifier _)]]
(|> pairs list.size (n/= +1)))
(:: macro.Monad<Meta> wrap [])
@@ -65,13 +65,13 @@
(-> Text //.Statement)
(function (_ inputsC+)
(case inputsC+
- (^ (list [_ (#.Symbol ["" def-name])] valueC annotationsC))
+ (^ (list [_ (#.Identifier ["" def-name])] valueC annotationsC))
(hostL.with-context def-name
(lang.with-fresh-type-env
(do macro.Monad<Meta>
[syntheses //.all-syntheses
[annotationsI annotationsV] (process-annotations syntheses annotationsC)]
- (case (macro.get-symbol-ann (ident-for #.alias) annotationsV)
+ (case (macro.get-identifier-ann (ident-for #.alias) annotationsV)
(#.Some real-def)
(do @
[_ (ensure-valid-alias def-name annotationsV valueC)
@@ -103,7 +103,7 @@
(-> Text //.Statement)
(function (_ inputsC+)
(case inputsC+
- (^ (list [_ (#.Symbol ["" args])] programC))
+ (^ (list [_ (#.Identifier ["" args])] programC))
(do macro.Monad<Meta>
[[_ programA] (<| lang.with-scope
(scopeL.with-local [args (type (List Text))])
diff --git a/new-luxc/source/luxc/lang/host/jvm.lux b/new-luxc/source/luxc/lang/host/jvm.lux
index bbfc5e136..7e5abd6d4 100644
--- a/new-luxc/source/luxc/lang/host/jvm.lux
+++ b/new-luxc/source/luxc/lang/host/jvm.lux
@@ -105,17 +105,17 @@
(translation.Compiler ..Anchor Inst Definition))
## [Values]
-(syntax: (config: {type s.local-symbol}
- {none s.local-symbol}
- {++ s.local-symbol}
- {options (s.tuple (p.many s.local-symbol))})
- (let [g!type (code.local-symbol type)
- g!none (code.local-symbol none)
+(syntax: (config: {type s.local-identifier}
+ {none s.local-identifier}
+ {++ s.local-identifier}
+ {options (s.tuple (p.many s.local-identifier))})
+ (let [g!type (code.local-identifier type)
+ g!none (code.local-identifier none)
g!tags+ (list/map code.local-tag options)
- g!_left (code.local-symbol "_left")
- g!_right (code.local-symbol "_right")
+ g!_left (code.local-identifier "_left")
+ g!_right (code.local-identifier "_right")
g!options+ (list/map (function (_ option)
- (` (def: (~' #export) (~ (code.local-symbol option))
+ (` (def: (~' #export) (~ (code.local-identifier option))
(~ g!type)
(|> (~ g!none)
(set@ (~ (code.local-tag option)) #1)))))
@@ -131,7 +131,7 @@
[tag (` #0)])
g!tags+)))))
- (` (def: (~' #export) ((~ (code.local-symbol ++)) (~ g!_left) (~ g!_right))
+ (` (def: (~' #export) ((~ (code.local-identifier ++)) (~ g!_left) (~ g!_right))
(-> (~ g!type) (~ g!type) (~ g!type))
(~ (code.record (list/map (function (_ tag)
[tag (` (or (get@ (~ tag) (~ g!_left))
diff --git a/new-luxc/source/luxc/lang/host/jvm/inst.lux b/new-luxc/source/luxc/lang/host/jvm/inst.lux
index 9426fabe3..463861798 100644
--- a/new-luxc/source/luxc/lang/host/jvm/inst.lux
+++ b/new-luxc/source/luxc/lang/host/jvm/inst.lux
@@ -24,9 +24,9 @@
(import: #long java/lang/Object)
(import: #long java/lang/String)
-(syntax: (declare {codes (p.many s.local-symbol)})
+(syntax: (declare {codes (p.many s.local-identifier)})
(|> codes
- (list/map (function (_ code) (` ((~' #static) (~ (code.local-symbol code)) (~' int)))))
+ (list/map (function (_ code) (` ((~' #static) (~ (code.local-identifier code)) (~' int)))))
wrap))
(`` (import: org/objectweb/asm/Opcodes
@@ -141,8 +141,8 @@
[string Text id]
)
-(syntax: (prefix {base s.local-symbol})
- (wrap (list (code.local-symbol (format "Opcodes::" base)))))
+(syntax: (prefix {base s.local-identifier})
+ (wrap (list (code.local-identifier (format "Opcodes::" base)))))
(def: #export NULL
Inst
diff --git a/new-luxc/source/luxc/lang/translation.lux b/new-luxc/source/luxc/lang/translation.lux
index 7c1de9883..158158c51 100644
--- a/new-luxc/source/luxc/lang/translation.lux
+++ b/new-luxc/source/luxc/lang/translation.lux
@@ -100,7 +100,7 @@
(&.with-type Macro
(analyse macroC)))
[_macroT _macroM _macroV] (case macroA
- [_ (#.Symbol macro-name)]
+ [_ (#.Identifier macro-name)]
(macro.find-def macro-name)
_
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/expression.jvm.lux
index d3761ff6b..45887cdae 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp/expression.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp/expression.jvm.lux
@@ -57,7 +57,7 @@
(^ [_ (#.Form (list [_ (#.Int var)]))])
(referenceT.translate-variable var)
- [_ (#.Symbol definition)]
+ [_ (#.Identifier definition)]
(referenceT.translate-definition definition)
(^code ("lux call" (~ functionS) (~+ argsS)))
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux
index 8148bf0c6..ba2e0a8b4 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux
@@ -61,11 +61,11 @@
"Expected: " (|> expected .int %i) "\n"
" Actual: " (|> actual .int %i)))
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g!_ g!proc g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!proc))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc))
(-> (-> (..Vector (~ (code.nat arity)) Expression) Expression)
(-> Text ..Proc))
(function ((~ g!_) (~ g!name))
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux
index fe0a620d9..3750bc674 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux
@@ -55,19 +55,19 @@
(def: declaration
(s.Syntax [Text (List Text)])
- (p.either (p.seq s.local-symbol (p/wrap (list)))
- (s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
+ (p.either (p.seq s.local-identifier (p/wrap (list)))
+ (s.form (p.seq s.local-identifier (p.some s.local-identifier)))))
(syntax: (runtime: {[name args] declaration}
definition)
- (let [implementation (code.local-symbol (format "@@" name))
+ (let [implementation (code.local-identifier (format "@@" name))
runtime (format prefix "__" (lang.normalize-name name))
$runtime (` (_.var (~ (code.text runtime))))
@runtime (` (@@ (~ $runtime)))
- argsC+ (list/map code.local-symbol args)
+ argsC+ (list/map code.local-identifier args)
argsLC+ (list/map (|>> lang.normalize-name (format "LRV__") code.text (~) (_.var) (`))
args)
- declaration (` ((~ (code.local-symbol name))
+ declaration (` ((~ (code.local-identifier name))
(~+ argsC+)))
type (` (-> (~+ (list.repeat (list.size argsC+) (` _.Expression)))
_.Expression))]
@@ -93,11 +93,11 @@
(_.defun (~ $runtime) (list (~+ argsLC+))
(~ definition))))))))))))
-(syntax: #export (with-vars {vars (s.tuple (p.many s.local-symbol))}
+(syntax: #export (with-vars {vars (s.tuple (p.many s.local-identifier))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
- (list (code.local-symbol var)
+ (list (code.local-identifier var)
(` (_.var (~ (code.text (format "LRV__" (lang.normalize-name var)))))))))
list/join))]
(~ body))))))
@@ -320,7 +320,7 @@
(_.progn (list (_.setq! process//incoming (_.list (list)))
(_.map/3 _.nil
(_.lambda (_.poly (list process))
- (_.funcall (list ..unit) (@@ process)))
+ (_.funcall (list ..unit) (@@ process)))
(@@ queue))
(process//loop ..unit)))))
..unit))
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux
index 549142f3f..74bf3d118 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux
@@ -15,7 +15,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/source/luxc/lang/translation/js/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/js/expression.jvm.lux
index 544dd1eca..0adc4255c 100644
--- a/new-luxc/source/luxc/lang/translation/js/expression.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/js/expression.jvm.lux
@@ -58,7 +58,7 @@
(^ [_ (#.Form (list [_ (#.Int var)]))])
(referenceT.translate-variable var)
- [_ (#.Symbol definition)]
+ [_ (#.Identifier definition)]
(referenceT.translate-definition definition)
(^code ("lux let" (~ [_ (#.Nat register)]) (~ inputS) (~ exprS)))
diff --git a/new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux
index a2b30390d..4c3b0afe8 100644
--- a/new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux
@@ -60,11 +60,11 @@
"Expected: " (|> expected .int %i) "\n"
" Actual: " (|> actual .int %i)))
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g!_ g!proc g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!proc))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc))
(-> (-> (..Vector (~ (code.nat arity)) Expression) Expression)
(-> Text ..Proc))
(function ((~ g!_) (~ g!name))
diff --git a/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux
index fca27344e..c5d85eb0d 100644
--- a/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux
@@ -55,8 +55,8 @@
(-> Text (-> Text Expression) Statement)
(format "var " name " = " (definition name) ";\n"))
-(syntax: (runtime-implementation-name {runtime-name s.local-symbol})
- (wrap (list (code.local-symbol (format "__" runtime-name)))))
+(syntax: (runtime-implementation-name {runtime-name s.local-identifier})
+ (wrap (list (code.local-identifier (format "__" runtime-name)))))
(template: (runtime: <lux-name> <js-name> <js-definition>)
(def: #export <lux-name> Text (runtime-name <js-name>))
diff --git a/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux
index 317193691..fddc8e045 100644
--- a/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux
@@ -15,7 +15,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux
index 0bf625624..6447ec20a 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux
@@ -75,11 +75,11 @@
"Expected: " (|> expected .int %i) "\n"
" Actual: " (|> actual .int %i)))
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g!_ g!proc g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!proc))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc))
(-> (-> (..Vector (~ (code.nat arity)) $.Inst) $.Inst)
(-> Text ..Proc))
(function ((~ g!_) (~ g!name))
diff --git a/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux
index 81b60e1ce..3ed9a8ebc 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux
@@ -41,7 +41,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module def-name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/source/luxc/lang/translation/lua/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/expression.jvm.lux
index 0fefcc8ba..5d6b073fc 100644
--- a/new-luxc/source/luxc/lang/translation/lua/expression.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/lua/expression.jvm.lux
@@ -58,7 +58,7 @@
(^ [_ (#.Form (list [_ (#.Int var)]))])
(referenceT.translate-variable var)
- [_ (#.Symbol definition)]
+ [_ (#.Identifier definition)]
(referenceT.translate-definition definition)
(^code ("lux let" (~ [_ (#.Nat register)]) (~ inputS) (~ exprS)))
diff --git a/new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux
index c750bbaf4..cfbe7f0ac 100644
--- a/new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux
@@ -60,11 +60,11 @@
"Expected: " (|> expected .int %i) "\n"
" Actual: " (|> actual .int %i)))
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g_ g!proc g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!proc))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc))
(-> (-> (..Vector (~ (code.nat arity)) Expression) Expression)
(-> Text ..Proc))
(function ((~ g_ ) (~ g!name))
diff --git a/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux
index 7c45f0786..8121b2c9d 100644
--- a/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux
@@ -52,16 +52,16 @@
(def: declaration
(s.Syntax [Text (List Text)])
- (p.either (p.seq s.local-symbol (p/wrap (list)))
- (s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
+ (p.either (p.seq s.local-identifier (p/wrap (list)))
+ (s.form (p.seq s.local-identifier (p.some s.local-identifier)))))
(syntax: (runtime: {[name args] declaration}
definition)
- (let [implementation (code.local-symbol (format "@@" name))
+ (let [implementation (code.local-identifier (format "@@" name))
runtime (code.text (format "__" prefix "__" (lang.normalize-name name)))
- argsC+ (list/map code.local-symbol args)
+ argsC+ (list/map code.local-identifier args)
argsLC+ (list/map (|>> lang.normalize-name code.text) args)
- declaration (` ((~ (code.local-symbol name))
+ declaration (` ((~ (code.local-identifier name))
(~+ argsC+)))
type (` (-> (~+ (list.repeat (list.size argsC+) (` lua.Lua)))
lua.Lua))]
diff --git a/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux
index 8ff9c1ccd..4fb814f6c 100644
--- a/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux
@@ -15,7 +15,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/source/luxc/lang/translation/php/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/php/expression.jvm.lux
index b7f9661e7..3d7d652bf 100644
--- a/new-luxc/source/luxc/lang/translation/php/expression.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/expression.jvm.lux
@@ -50,7 +50,7 @@
(^ [_ (#.Form (list [_ (#.Int var)]))])
(referenceT.translate-variable var)
- [_ (#.Symbol definition)]
+ [_ (#.Identifier definition)]
(referenceT.translate-definition definition)
(^code ("lux let" (~ [_ (#.Nat register)]) (~ inputS) (~ exprS)))
diff --git a/new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux
index eea8682d3..9638ec9bf 100644
--- a/new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux
@@ -61,11 +61,11 @@
"Expected: " (|> expected .int %i) "\n"
" Actual: " (|> actual .int %i)))
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g!_ g!proc g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!proc))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc))
(-> (-> (..Vector (~ (code.nat arity)) Expression) Expression)
(-> Text ..Proc))
(function ((~ g!_) (~ g!name))
diff --git a/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux
index 7feb0033c..ac04df255 100644
--- a/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux
@@ -54,18 +54,18 @@
(def: declaration
(s.Syntax [Text (List Text)])
- (p.either (p.seq s.local-symbol (p/wrap (list)))
- (s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
+ (p.either (p.seq s.local-identifier (p/wrap (list)))
+ (s.form (p.seq s.local-identifier (p.some s.local-identifier)))))
(syntax: (runtime: {[name args] declaration}
definition)
- (let [implementation (code.local-symbol (format "@@" name))
+ (let [implementation (code.local-identifier (format "@@" name))
runtime (format "__" prefix "__" (lang.normalize-name name))
@runtime (` (_.global (~ (code.text runtime))))
- argsC+ (list/map code.local-symbol args)
+ argsC+ (list/map code.local-identifier args)
argsLC+ (list/map (|>> lang.normalize-name code.text (~) (_.var) (`))
args)
- declaration (` ((~ (code.local-symbol name))
+ declaration (` ((~ (code.local-identifier name))
(~+ argsC+)))
type (` (-> (~+ (list.repeat (list.size argsC+) (` _.Expression)))
_.Computation))]
@@ -87,11 +87,11 @@
((~! list/map) _.parameter (list (~+ argsLC+)))
(~ definition))))))))))))
-(syntax: (with-vars {vars (s.tuple (p.many s.local-symbol))}
+(syntax: (with-vars {vars (s.tuple (p.many s.local-identifier))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
- (list (code.local-symbol var)
+ (list (code.local-identifier var)
(` (_.var (~ (code.text (lang.normalize-name var))))))))
list/join))]
(~ body))))))
diff --git a/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux
index 70a39a575..d4b4a03a8 100644
--- a/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux
@@ -15,7 +15,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/source/luxc/lang/translation/python/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/python/expression.jvm.lux
index 62be95f27..0bbfb2f2c 100644
--- a/new-luxc/source/luxc/lang/translation/python/expression.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/expression.jvm.lux
@@ -57,7 +57,7 @@
(^ [_ (#.Form (list [_ (#.Int var)]))])
(referenceT.translate-variable var)
- [_ (#.Symbol definition)]
+ [_ (#.Identifier definition)]
(referenceT.translate-definition definition)
(^code ("lux let" (~ [_ (#.Nat register)]) (~ inputS) (~ exprS)))
diff --git a/new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux
index 2dece65c5..f7cdf044a 100644
--- a/new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux
@@ -61,11 +61,11 @@
"Expected: " (|> expected .int %i) "\n"
" Actual: " (|> actual .int %i)))
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g!_ g!proc g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!proc))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc))
(-> (-> (..Vector (~ (code.nat arity)) Expression) Expression)
(-> Text ..Proc))
(function ((~ g!_) (~ g!name))
diff --git a/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux
index 68af2d630..275eea636 100644
--- a/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux
@@ -54,19 +54,19 @@
(def: declaration
(s.Syntax [Text (List Text)])
- (p.either (p.seq s.local-symbol (p/wrap (list)))
- (s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
+ (p.either (p.seq s.local-identifier (p/wrap (list)))
+ (s.form (p.seq s.local-identifier (p.some s.local-identifier)))))
(syntax: (runtime: {[name args] declaration}
definition)
- (let [implementation (code.local-symbol (format "@@" name))
+ (let [implementation (code.local-identifier (format "@@" name))
runtime (format "__" prefix "__" (lang.normalize-name name))
$runtime (` (python.var (~ (code.text runtime))))
@runtime (` (@@ (~ $runtime)))
- argsC+ (list/map code.local-symbol args)
+ argsC+ (list/map code.local-identifier args)
argsLC+ (list/map (|>> lang.normalize-name code.text (~) (python.var) (`))
args)
- declaration (` ((~ (code.local-symbol name))
+ declaration (` ((~ (code.local-identifier name))
(~+ argsC+)))
type (` (-> (~+ (list.repeat (list.size argsC+) (` python.Expression)))
python.Expression))]
@@ -88,11 +88,11 @@
(list (~+ argsLC+))
(~ definition))))))))))))
-(syntax: (with-vars {vars (s.tuple (p.many s.local-symbol))}
+(syntax: (with-vars {vars (s.tuple (p.many s.local-identifier))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
- (list (code.local-symbol var)
+ (list (code.local-identifier var)
(` (python.var (~ (code.text (lang.normalize-name var))))))))
list/join))]
(~ body))))))
diff --git a/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux
index c241afa8a..0d8321470 100644
--- a/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux
@@ -15,7 +15,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/source/luxc/lang/translation/r/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/r/expression.jvm.lux
index 2e30b4999..d838bc332 100644
--- a/new-luxc/source/luxc/lang/translation/r/expression.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/expression.jvm.lux
@@ -58,7 +58,7 @@
(^ [_ (#.Form (list [_ (#.Int var)]))])
(referenceT.translate-variable var)
- [_ (#.Symbol definition)]
+ [_ (#.Identifier definition)]
(referenceT.translate-definition definition)
(^code ("lux let" (~ [_ (#.Nat register)]) (~ inputS) (~ exprS)))
diff --git a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
index 00f04e49f..eab139f33 100644
--- a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
@@ -61,11 +61,11 @@
"Expected: " (|> expected .int %i) "\n"
" Actual: " (|> actual .int %i)))
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g!_ g!proc g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!proc))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc))
(-> (-> (..Vector (~ (code.nat arity)) Expression) Expression)
(-> Text ..Proc))
(function ((~ g!_) (~ g!name))
diff --git a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
index 3ea37ae85..fd4adfb1a 100644
--- a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
@@ -82,19 +82,19 @@
(def: declaration
(s.Syntax [Text (List Text)])
- (p.either (p.seq s.local-symbol (p/wrap (list)))
- (s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
+ (p.either (p.seq s.local-identifier (p/wrap (list)))
+ (s.form (p.seq s.local-identifier (p.some s.local-identifier)))))
(syntax: (runtime: {[name args] declaration}
definition)
- (let [implementation (code.local-symbol (format "@@" name))
+ (let [implementation (code.local-identifier (format "@@" name))
runtime (format prefix "__" (lang.normalize-name name))
$runtime (` (r.var (~ (code.text runtime))))
@runtime (` (@@ (~ $runtime)))
- argsC+ (list/map code.local-symbol args)
+ argsC+ (list/map code.local-identifier args)
argsLC+ (list/map (|>> lang.normalize-name (format "LRV__") code.text (~) (r.var) (`))
args)
- declaration (` ((~ (code.local-symbol name))
+ declaration (` ((~ (code.local-identifier name))
(~+ argsC+)))
type (` (-> (~+ (list.repeat (list.size argsC+) (` r.Expression)))
r.Expression))]
@@ -121,11 +121,11 @@
(r.function (list (~+ argsLC+))
(~ definition)))))))))))))
-(syntax: #export (with-vars {vars (s.tuple (p.many s.local-symbol))}
+(syntax: #export (with-vars {vars (s.tuple (p.many s.local-identifier))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
- (list (code.local-symbol var)
+ (list (code.local-identifier var)
(` (r.var (~ (code.text (format "LRV__" (lang.normalize-name var)))))))))
list/join))]
(~ body))))))
diff --git a/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux
index e09410f40..a5515efdc 100644
--- a/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux
@@ -15,7 +15,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/source/luxc/lang/translation/ruby/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/expression.jvm.lux
index e68cf8a8f..6023f3a82 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/expression.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/expression.jvm.lux
@@ -55,7 +55,7 @@
(^ [_ (#.Form (list [_ (#.Int var)]))])
(referenceT.translate-variable var)
- [_ (#.Symbol definition)]
+ [_ (#.Identifier definition)]
(referenceT.translate-definition definition)
(^code ("lux let" (~ [_ (#.Nat register)]) (~ inputS) (~ exprS)))
diff --git a/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux
index 7100cf9a4..bed68a0a0 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux
@@ -60,11 +60,11 @@
"Expected: " (|> expected .int %i) "\n"
" Actual: " (|> actual .int %i)))
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g!_ g!proc g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!proc))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc))
(-> (-> (..Vector (~ (code.nat arity)) Expression) Expression)
(-> Text ..Proc))
(function ((~ g!_) (~ g!name))
diff --git a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
index 4ab5417a1..49f5d9d79 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
@@ -52,16 +52,16 @@
(def: declaration
(s.Syntax [Text (List Text)])
- (p.either (p.seq s.local-symbol (p/wrap (list)))
- (s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
+ (p.either (p.seq s.local-identifier (p/wrap (list)))
+ (s.form (p.seq s.local-identifier (p.some s.local-identifier)))))
(syntax: (runtime: {[name args] declaration}
definition)
- (let [implementation (code.local-symbol (format "@@" name))
+ (let [implementation (code.local-identifier (format "@@" name))
runtime (code.text (format "__" prefix "__" (lang.normalize-name name)))
- argsC+ (list/map code.local-symbol args)
+ argsC+ (list/map code.local-identifier args)
argsLC+ (list/map (|>> lang.normalize-name code.text) args)
- declaration (` ((~ (code.local-symbol name))
+ declaration (` ((~ (code.local-identifier name))
(~+ argsC+)))
type (` (-> (~+ (list.repeat (list.size argsC+) (` ruby.Ruby)))
ruby.Ruby))]
diff --git a/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux
index 83792921d..a1b2a9e6f 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux
@@ -15,7 +15,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux
index aa1411c18..8c5bdc797 100644
--- a/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux
@@ -15,7 +15,7 @@
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
- (case (macro.get-symbol-ann (ident-for #.alias) metaV)
+ (case (macro.get-identifier-ann (ident-for #.alias) metaV)
(#.Some real-def)
(do @
[[realT realA realV] (macro.find-def real-def)
diff --git a/new-luxc/test/test/luxc/common.lux b/new-luxc/test/test/luxc/common.lux
index 44bd85fd9..b181004f7 100644
--- a/new-luxc/test/test/luxc/common.lux
+++ b/new-luxc/test/test/luxc/common.lux
@@ -1,72 +1,80 @@
(.module:
- lux
- (lux (control [monad #+ do])
- [io #+ IO]
- (data ["e" error])
- [macro]
- (macro [code])
- ["//" lang]
- (lang ["//." init]
- ["//." module]
- ["//." synthesis #+ Synthesis]))
- (luxc (lang ["&." host]
- (translation (jvm [".T_jvm" expression]
- [".T_jvm" eval]
- [".T_jvm" runtime]
- [".T_jvm" statement])
- ## [js]
- ## (js [".T_js" expression]
- ## [".T_js" eval]
- ## [".T_js" runtime]
- ## [".T_js" statement])
- ## [lua]
- ## (lua [".T_lua" expression]
- ## [".T_lua" eval]
- ## [".T_lua" runtime]
- ## [".T_lua" statement])
- ## [ruby]
- ## (ruby [".T_ruby" expression]
- ## [".T_ruby" eval]
- ## [".T_ruby" runtime]
- ## [".T_ruby" statement])
- ## [python]
- ## (python [".T_python" expression]
- ## [".T_python" eval]
- ## [".T_python" runtime]
- ## [".T_python" statement])
- ## [r]
- ## (r [".T_r" expression]
- ## [".T_r" eval]
- ## [".T_r" runtime]
- ## [".T_r" statement])
- ## [scheme]
- ## (scheme [".T_scheme" expression]
- ## [".T_scheme" eval]
- ## [".T_scheme" runtime]
- ## [".T_scheme" statement])
- ## [common-lisp]
- ## (common-lisp [".T_common-lisp" expression]
- ## [".T_common-lisp" eval]
- ## [".T_common-lisp" runtime]
- ## [".T_common-lisp" statement])
- ## [php]
- ## (php [".T_php" expression]
- ## [".T_php" eval]
- ## [".T_php" runtime]
- ## [".T_php" statement])
- ))))
+ [lux #*
+ [control
+ [monad (#+ do)]]
+ [io (#+ IO)]
+ [data
+ [error (#+ Error)]]
+ ["." macro
+ [code]]
+ ["." language
+ [compiler
+ [init]
+ [analysis
+ [module]]
+ [synthesis (#+ Synthesis)]]]]
+ [luxc
+ [lang
+ [translation
+ ["." jvm
+ ["._jvm" expression]
+ ## ["._jvm" eval]
+ ## ["._jvm" runtime]
+ ## ["._jvm" statement]
+ ]
+ ## [js]
+ ## (js ["._js" expression]
+ ## ["._js" eval]
+ ## ["._js" runtime]
+ ## ["._js" statement])
+ ## [lua]
+ ## (lua ["._lua" expression]
+ ## ["._lua" eval]
+ ## ["._lua" runtime]
+ ## ["._lua" statement])
+ ## [ruby]
+ ## (ruby ["._ruby" expression]
+ ## ["._ruby" eval]
+ ## ["._ruby" runtime]
+ ## ["._ruby" statement])
+ ## [python]
+ ## (python ["._python" expression]
+ ## ["._python" eval]
+ ## ["._python" runtime]
+ ## ["._python" statement])
+ ## [r]
+ ## (r ["._r" expression]
+ ## ["._r" eval]
+ ## ["._r" runtime]
+ ## ["._r" statement])
+ ## [scheme]
+ ## (scheme ["._scheme" expression]
+ ## ["._scheme" eval]
+ ## ["._scheme" runtime]
+ ## ["._scheme" statement])
+ ## [common-lisp]
+ ## (common-lisp ["._common-lisp" expression]
+ ## ["._common-lisp" eval]
+ ## ["._common-lisp" runtime]
+ ## ["._common-lisp" statement])
+ ## [php]
+ ## (php ["._php" expression]
+ ## ["._php" eval]
+ ## ["._php" runtime]
+ ## ["._php" statement])
+ ]]])
-(type: #export Runner (-> Synthesis (e.Error Any)))
-(type: #export Definer (-> Ident Synthesis (e.Error Any)))
+(type: #export Runner (-> Synthesis (Error Any)))
+(type: #export Definer (-> Ident Synthesis (Error Any)))
(do-template [<name> <host>]
[(def: #export <name>
(IO Lux)
(do io.Monad<IO>
[host <host>]
- (wrap (//init.compiler host))))]
+ (wrap (init.compiler host))))]
- [init-jvm &host.init-host]
+ [init-jvm jvm.init]
## [init-js js.init]
## [init-lua lua.init]
## [init-ruby ruby.init]
@@ -85,7 +93,7 @@
[_ translate-runtime
sampleO (translate-expression synthesis)]
(eval sampleO))
- (//.with-current-module "")
+ (language.with-current-module "")
(macro.run (io.run init)))))
(def: (definer translate-runtime translate-expression eval init translate-def)
@@ -96,36 +104,36 @@
(|> (do macro.Monad<Meta>
[_ translate-runtime
valueO (translate-expression synthesis)
- _ (//module.with-module +0 module-name
+ _ (module.with-module +0 module-name
(translate-def def-name Any valueO (' {})))
- sampleO (translate-expression (code.symbol [module-name def-name]))]
+ sampleO (translate-expression (code.identifier [module-name def-name]))]
(eval sampleO))
- (//.with-current-module "")
+ (language.with-current-module "")
(macro.run (io.run init)))))
-(def: #export run-jvm (runner runtimeT_jvm.translate expressionT_jvm.translate evalT_jvm.eval init-jvm))
-(def: #export def-jvm (definer runtimeT_jvm.translate expressionT_jvm.translate evalT_jvm.eval init-jvm statementT_jvm.translate-def))
+(def: #export run-jvm (runner runtime_jvm.translate expression_jvm.translate eval_jvm.eval init-jvm))
+(def: #export def-jvm (definer runtime_jvm.translate expression_jvm.translate eval_jvm.eval init-jvm statement_jvm.translate-def))
-## (def: #export run-js (runner runtimeT_js.translate expressionT_js.translate evalT_js.eval init-js))
-## (def: #export def-js (definer runtimeT_js.translate expressionT_js.translate evalT_js.eval init-js statementT_js.translate-def))
+## (def: #export run-js (runner runtime_js.translate expression_js.translate eval_js.eval init-js))
+## (def: #export def-js (definer runtime_js.translate expression_js.translate eval_js.eval init-js statement_js.translate-def))
-## (def: #export run-lua (runner runtimeT_lua.translate expressionT_lua.translate evalT_lua.eval init-lua))
-## (def: #export def-lua (definer runtimeT_lua.translate expressionT_lua.translate evalT_lua.eval init-lua statementT_lua.translate-def))
+## (def: #export run-lua (runner runtime_lua.translate expression_lua.translate eval_lua.eval init-lua))
+## (def: #export def-lua (definer runtime_lua.translate expression_lua.translate eval_lua.eval init-lua statement_lua.translate-def))
-## (def: #export run-ruby (runner runtimeT_ruby.translate expressionT_ruby.translate evalT_ruby.eval init-ruby))
-## (def: #export def-ruby (definer runtimeT_ruby.translate expressionT_ruby.translate evalT_ruby.eval init-ruby statementT_ruby.translate-def))
+## (def: #export run-ruby (runner runtime_ruby.translate expression_ruby.translate eval_ruby.eval init-ruby))
+## (def: #export def-ruby (definer runtime_ruby.translate expression_ruby.translate eval_ruby.eval init-ruby statement_ruby.translate-def))
-## (def: #export run-python (runner runtimeT_python.translate expressionT_python.translate evalT_python.eval init-python))
-## (def: #export def-python (definer runtimeT_python.translate expressionT_python.translate evalT_python.eval init-python statementT_python.translate-def))
+## (def: #export run-python (runner runtime_python.translate expression_python.translate eval_python.eval init-python))
+## (def: #export def-python (definer runtime_python.translate expression_python.translate eval_python.eval init-python statement_python.translate-def))
-## (def: #export run-r (runner runtimeT_r.translate expressionT_r.translate evalT_r.eval init-r))
-## (def: #export def-r (definer runtimeT_r.translate expressionT_r.translate evalT_r.eval init-r statementT_r.translate-def))
+## (def: #export run-r (runner runtime_r.translate expression_r.translate eval_r.eval init-r))
+## (def: #export def-r (definer runtime_r.translate expression_r.translate eval_r.eval init-r statement_r.translate-def))
-## (def: #export run-scheme (runner runtimeT_scheme.translate expressionT_scheme.translate evalT_scheme.eval init-scheme))
-## (def: #export def-scheme (definer runtimeT_scheme.translate expressionT_scheme.translate evalT_scheme.eval init-scheme statementT_scheme.translate-def))
+## (def: #export run-scheme (runner runtime_scheme.translate expression_scheme.translate eval_scheme.eval init-scheme))
+## (def: #export def-scheme (definer runtime_scheme.translate expression_scheme.translate eval_scheme.eval init-scheme statement_scheme.translate-def))
-## (def: #export run-common-lisp (runner runtimeT_common-lisp.translate expressionT_common-lisp.translate evalT_common-lisp.eval init-common-lisp))
-## (def: #export def-common-lisp (definer runtimeT_common-lisp.translate expressionT_common-lisp.translate evalT_common-lisp.eval init-common-lisp statementT_common-lisp.translate-def))
+## (def: #export run-common-lisp (runner runtime_common-lisp.translate expression_common-lisp.translate eval_common-lisp.eval init-common-lisp))
+## (def: #export def-common-lisp (definer runtime_common-lisp.translate expression_common-lisp.translate eval_common-lisp.eval init-common-lisp statement_common-lisp.translate-def))
-## (def: #export run-php (runner runtimeT_php.translate expressionT_php.translate evalT_php.eval init-php))
-## (def: #export def-php (definer runtimeT_php.translate expressionT_php.translate evalT_php.eval init-php statementT_php.translate-def))
+## (def: #export run-php (runner runtime_php.translate expression_php.translate eval_php.eval init-php))
+## (def: #export def-php (definer runtime_php.translate expression_php.translate eval_php.eval init-php statement_php.translate-def))
diff --git a/new-luxc/test/test/luxc/lang/translation/primitive.lux b/new-luxc/test/test/luxc/lang/translation/primitive.lux
index 14a887873..1c4236913 100644
--- a/new-luxc/test/test/luxc/lang/translation/primitive.lux
+++ b/new-luxc/test/test/luxc/lang/translation/primitive.lux
@@ -1,42 +1,47 @@
(.module:
- lux
- (lux [io #+ IO]
- (control [monad #+ do]
- pipe)
- (data text/format
- ["e" error]
- [bit "bit/" Eq<Bit>]
- [text "text/" Eq<Text>])
- ["r" math/random]
- (lang ["//." synthesis])
- test)
- (luxc (lang [".L" host]))
- (test/luxc common))
+ [lux #*
+ [control
+ [monad (#+ do)]
+ pipe]
+ [data
+ [error]
+ [bit ("bit/" Equivalence<Bit>)]
+ [text ("text/" Equivalence<Text>)
+ format]]
+ [math
+ ["r" random]]
+ [language
+ [compiler
+ [synthesis]]]
+ test]
+ [test
+ [luxc
+ common]])
(def: (spec run)
(-> Runner Test)
(do r.Monad<Random>
- [%bit% r.bit
- %nat% r.nat
- %int% r.int
- %rev% r.rev
- %frac% r.frac
- %text% (r.ascii +5)]
+ [|bit| r.bit
+ |nat| r.nat
+ |int| r.int
+ |rev| r.rev
+ |frac| r.frac
+ |text| (r.ascii +5)]
(`` ($_ seq
(~~ (do-template [<desc> <type> <synthesis> <sample> <test>]
[(test (format "Can translate " <desc> ".")
(|> (run (<synthesis> <sample>))
- (case> (#e.Success valueT)
+ (case> (#error.Success valueT)
(<test> <sample> (:coerce <type> valueT))
- (#e.Error error)
+ (#error.Error error)
(exec (log! error)
#0))))]
- ["bit" Bit //synthesis.bit %bit% bit/=]
- ["int" Int //synthesis.i64 %int% i/=]
- ["frac" Frac //synthesis.f64 %frac% f/=]
- ["text" Text //synthesis.text %text% text/=]))
+ ["bit" Bit synthesis.bit |bit| bit/=]
+ ["int" Int synthesis.i64 |int| i/=]
+ ["frac" Frac synthesis.f64 |frac| f/=]
+ ["text" Text synthesis.text |text| text/=]))
))))
(context: "[JVM] Primitives."
diff --git a/new-luxc/test/tests.lux b/new-luxc/test/tests.lux
index b6e6f3ca8..09b95c6b2 100644
--- a/new-luxc/test/tests.lux
+++ b/new-luxc/test/tests.lux
@@ -1,41 +1,28 @@
(.module:
- lux
- (lux (control monad)
- [io]
- (concurrency [promise])
- [cli #+ program:]
- [test])
- (test (luxc (lang (analysis ["_.A" primitive]
- ["_.A" structure]
- ["_.A" reference]
- ["_.A" case]
- ["_.A" function]
- ["_.A" type]
- (procedure ["_.A" common]
- ["_.A" host]))
- (synthesis ["_.S" primitive]
- ["_.S" structure]
- (case ["_.S" special])
- ["_.S" function]
- ["_.S" procedure]
- ["_.S" loop])
- (translation ["_.T" primitive]
- ["_.T" structure]
- ["_.T" function]
- ["_.T" reference]
- ["_.T" case]
- ["_.T" common]
- ["_.T" jvm]
- ## ["_.T" js]
- ## ["_.T" lua]
- ## ["_.T" ruby]
- ## ["_.T" python]
- ## ["_.T" r]
- ## ["_.T" scheme]
- ## ["_.T" common-lisp]
- ## ["_.T" php]
- ))
- )))
+ [lux
+ [cli (#+ program:)]
+ [test]]
+ [test
+ [luxc
+ [lang
+ [translation
+ ["_.T" primitive]
+ ## ["_.T" structure]
+ ## ["_.T" function]
+ ## ["_.T" reference]
+ ## ["_.T" case]
+ ## ["_.T" common]
+ ## ["_.T" jvm]
+ ## ["_.T" js]
+ ## ["_.T" lua]
+ ## ["_.T" ruby]
+ ## ["_.T" python]
+ ## ["_.T" r]
+ ## ["_.T" scheme]
+ ## ["_.T" common-lisp]
+ ## ["_.T" php]
+ ]]]]
+ )
(program: args
(test.run))
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index e53709ce2..9bf84ca45 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -162,9 +162,9 @@
(#Cons [[dummy-cursor (+7 ["lux" "export?"])]
[dummy-cursor (+0 #1)]]
(#Cons [[dummy-cursor (+7 ["lux" "doc"])]
- [dummy-cursor (+5 "An identifier.
+ [dummy-cursor (+5 "A name.
- It is used as part of Lux syntax to represent symbols and tags.")]]
+ It is used as part of Lux syntax to represent identifiers and tags.")]]
#Nil))))])
## (type: (Maybe a)
@@ -311,7 +311,7 @@
## (#Rev Rev)
## (#Frac Frac)
## (#Text Text)
-## (#Symbol Name)
+## (#Identifier Name)
## (#Tag Name)
## (#Form (List (w (Code' w))))
## (#Tuple (List (w (Code' w))))
@@ -333,7 +333,7 @@
Frac
(#Sum ## "lux.Text"
Text
- (#Sum ## "lux.Symbol"
+ (#Sum ## "lux.Identifier"
Name
(#Sum ## "lux.Tag"
Name
@@ -357,7 +357,7 @@
(#Cons [dummy-cursor (+5 "Rev")]
(#Cons [dummy-cursor (+5 "Frac")]
(#Cons [dummy-cursor (+5 "Text")]
- (#Cons [dummy-cursor (+5 "Symbol")]
+ (#Cons [dummy-cursor (+5 "Identifier")]
(#Cons [dummy-cursor (+5 "Tag")]
(#Cons [dummy-cursor (+5 "Form")]
(#Cons [dummy-cursor (+5 "Tuple")]
@@ -425,14 +425,14 @@
([_ text] (_ann (#Text text))))
[dummy-cursor (#Record #Nil)])
-("lux def" symbol$
+("lux def" identifier$
("lux check" (#Function Name Code)
- ([_ name] (_ann (#Symbol name))))
+ ([_ name] (_ann (#Identifier name))))
[dummy-cursor (#Record #Nil)])
-("lux def" local-symbol$
+("lux def" local-identifier$
("lux check" (#Function Text Code)
- ([_ name] (_ann (#Symbol ["" name]))))
+ ([_ name] (_ann (#Identifier ["" name]))))
[dummy-cursor (#Record #Nil)])
("lux def" tag$
@@ -827,27 +827,27 @@
("lux check" Macro
([_ tokens]
({(#Cons [_ (#Tuple (#Cons arg args'))] (#Cons body #Nil))
- (return (#Cons (_ann (#Form (#Cons (_ann (#Tuple (#Cons (_ann (#Symbol "" ""))
+ (return (#Cons (_ann (#Form (#Cons (_ann (#Tuple (#Cons (_ann (#Identifier "" ""))
(#Cons arg #Nil))))
(#Cons ({#Nil
body
_
- (_ann (#Form (#Cons (_ann (#Symbol "lux" "function''"))
+ (_ann (#Form (#Cons (_ann (#Identifier "lux" "function''"))
(#Cons (_ann (#Tuple args'))
(#Cons body #Nil)))))}
args')
#Nil))))
#Nil))
- (#Cons [_ (#Symbol "" self)] (#Cons [_ (#Tuple (#Cons arg args'))] (#Cons body #Nil)))
- (return (#Cons (_ann (#Form (#Cons (_ann (#Tuple (#Cons (_ann (#Symbol "" self))
+ (#Cons [_ (#Identifier "" self)] (#Cons [_ (#Tuple (#Cons arg args'))] (#Cons body #Nil)))
+ (return (#Cons (_ann (#Form (#Cons (_ann (#Tuple (#Cons (_ann (#Identifier "" self))
(#Cons arg #Nil))))
(#Cons ({#Nil
body
_
- (_ann (#Form (#Cons (_ann (#Symbol "lux" "function''"))
+ (_ann (#Form (#Cons (_ann (#Identifier "lux" "function''"))
(#Cons (_ann (#Tuple args'))
(#Cons body #Nil)))))}
args')
@@ -927,12 +927,12 @@
(#Cons [name
(#Cons [(_ann (#Form (#Cons [(_ann (#Text "lux check"))
(#Cons [type
- (#Cons [(_ann (#Form (#Cons [(_ann (#Symbol ["lux" "function''"]))
+ (#Cons [(_ann (#Form (#Cons [(_ann (#Identifier ["lux" "function''"]))
(#Cons [name
(#Cons [(_ann (#Tuple args))
(#Cons [body #Nil])])])])))
#Nil])])])))
- (#Cons (form$ (#Cons (symbol$ ["lux" "record$"])
+ (#Cons (form$ (#Cons (identifier$ ["lux" "record$"])
(#Cons (with-export-meta meta)
#Nil)))
#Nil)])])])))
@@ -945,7 +945,7 @@
(#Cons [type
(#Cons [body
#Nil])])])))
- (#Cons (form$ (#Cons (symbol$ ["lux" "record$"])
+ (#Cons (form$ (#Cons (identifier$ ["lux" "record$"])
(#Cons (with-export-meta meta)
#Nil)))
#Nil)])])])))
@@ -957,12 +957,12 @@
(#Cons [name
(#Cons [(_ann (#Form (#Cons [(_ann (#Text "lux check"))
(#Cons [type
- (#Cons [(_ann (#Form (#Cons [(_ann (#Symbol ["lux" "function''"]))
+ (#Cons [(_ann (#Form (#Cons [(_ann (#Identifier ["lux" "function''"]))
(#Cons [name
(#Cons [(_ann (#Tuple args))
(#Cons [body #Nil])])])])))
#Nil])])])))
- (#Cons (form$ (#Cons (symbol$ ["lux" "record$"])
+ (#Cons (form$ (#Cons (identifier$ ["lux" "record$"])
(#Cons meta
#Nil)))
#Nil)])])])))
@@ -975,7 +975,7 @@
(#Cons [type
(#Cons [body
#Nil])])])))
- (#Cons (form$ (#Cons (symbol$ ["lux" "record$"])
+ (#Cons (form$ (#Cons (identifier$ ["lux" "record$"])
(#Cons meta
#Nil)))
#Nil)])])])))
@@ -990,32 +990,32 @@
default-macro-meta
Macro
({(#Cons [_ (#Form (#Cons name args))] (#Cons body #Nil))
- (return (#Cons (form$ (#Cons (symbol$ ["lux" "def:''"])
+ (return (#Cons (form$ (#Cons (identifier$ ["lux" "def:''"])
(#Cons (form$ (#Cons name args))
(#Cons (with-macro-meta (tag$ ["lux" "Nil"]))
- (#Cons (symbol$ ["lux" "Macro"])
+ (#Cons (identifier$ ["lux" "Macro"])
(#Cons body
#Nil)))
)))
#Nil))
(#Cons [_ (#Tag ["" "export"])] (#Cons [_ (#Form (#Cons name args))] (#Cons body #Nil)))
- (return (#Cons (form$ (#Cons (symbol$ ["lux" "def:''"])
+ (return (#Cons (form$ (#Cons (identifier$ ["lux" "def:''"])
(#Cons (tag$ ["" "export"])
(#Cons (form$ (#Cons name args))
(#Cons (with-macro-meta (tag$ ["lux" "Nil"]))
- (#Cons (symbol$ ["lux" "Macro"])
+ (#Cons (identifier$ ["lux" "Macro"])
(#Cons body
#Nil)))
))))
#Nil))
(#Cons [_ (#Tag ["" "export"])] (#Cons [_ (#Form (#Cons name args))] (#Cons meta-data (#Cons body #Nil))))
- (return (#Cons (form$ (#Cons (symbol$ ["lux" "def:''"])
+ (return (#Cons (form$ (#Cons (identifier$ ["lux" "def:''"])
(#Cons (tag$ ["" "export"])
(#Cons (form$ (#Cons name args))
(#Cons (with-macro-meta meta-data)
- (#Cons (symbol$ ["lux" "Macro"])
+ (#Cons (identifier$ ["lux" "Macro"])
(#Cons body
#Nil)))
))))
@@ -1038,7 +1038,7 @@
(return tokens)
(#Cons x (#Cons y xs))
- (return (#Cons (form$ (#Cons (symbol$ ["lux" "$'"])
+ (return (#Cons (form$ (#Cons (identifier$ ["lux" "$'"])
(#Cons (form$ (#Cons (tag$ ["lux" "Apply"])
(#Cons y (#Cons x #Nil))))
xs)))
@@ -1100,7 +1100,7 @@
(def:'' (replace-syntax reps syntax)
#Nil
(#Function RepEnv (#Function Code Code))
- ({[_ (#Symbol "" name)]
+ ({[_ (#Identifier "" name)]
({(#Some replacement)
replacement
@@ -1183,11 +1183,11 @@
({#Nil
(next #Nil)
- (#Cons [_ (#Symbol "" arg-name)] args')
+ (#Cons [_ (#Identifier "" arg-name)] args')
(parse-quantified-args args' (function'' [names] (next (#Cons arg-name names))))
_
- (fail "Expected symbol.")}
+ (fail "Expected identifier.")}
args))
(def:'' (make-parameter idx)
@@ -1228,7 +1228,7 @@
(| Any
[a (List a)]))")]
#Nil)
- (let'' [self-name tokens] ({(#Cons [_ (#Symbol "" self-name)] tokens)
+ (let'' [self-name tokens] ({(#Cons [_ (#Identifier "" self-name)] tokens)
[self-name tokens]
_
@@ -1275,7 +1275,7 @@
a
(List (Self a))])")]
#Nil)
- (let'' [self-name tokens] ({(#Cons [_ (#Symbol "" self-name)] tokens)
+ (let'' [self-name tokens] ({(#Cons [_ (#Identifier "" self-name)] tokens)
[self-name tokens]
_
@@ -1374,7 +1374,7 @@
(&)")]
#Nil)
({#Nil
- (return (list (symbol$ ["lux" "Any"])))
+ (return (list (identifier$ ["lux" "Any"])))
(#Cons last prevs)
(return (list (list/fold (function'' [left right] (form$ (list (tag$ ["lux" "Product"]) left right)))
@@ -1391,7 +1391,7 @@
(|)")]
#Nil)
({#Nil
- (return (list (symbol$ ["lux" "Nothing"])))
+ (return (list (identifier$ ["lux" "Nothing"])))
(#Cons last prevs)
(return (list (list/fold (function'' [left right] (form$ (list (tag$ ["lux" "Sum"]) left right)))
@@ -1400,7 +1400,7 @@
(list/reverse tokens)))
(macro:' (function' tokens)
- (let'' [name tokens'] ({(#Cons [[_ (#Symbol ["" name])] tokens'])
+ (let'' [name tokens'] ({(#Cons [[_ (#Identifier ["" name])] tokens'])
[name tokens']
_
@@ -1411,10 +1411,10 @@
(fail "function' requires a non-empty arguments tuple.")
(#Cons [harg targs])
- (return (list (form$ (list (tuple$ (list (symbol$ ["" name])
+ (return (list (form$ (list (tuple$ (list (identifier$ ["" name])
harg))
(list/fold (function'' [arg body']
- (form$ (list (tuple$ (list (symbol$ ["" ""])
+ (form$ (list (tuple$ (list (identifier$ ["" ""])
arg))
body')))
body
@@ -1433,11 +1433,11 @@
name
(form$ (list (text$ "lux check")
type
- (form$ (list (symbol$ ["lux" "function'"])
+ (form$ (list (identifier$ ["lux" "function'"])
name
(tuple$ args)
body))))
- (form$ (#Cons (symbol$ ["lux" "record$"])
+ (form$ (#Cons (identifier$ ["lux" "record$"])
(#Cons (with-export-meta meta)
#Nil)))))))
@@ -1447,7 +1447,7 @@
(form$ (list (text$ "lux check")
type
body))
- (form$ (#Cons (symbol$ ["lux" "record$"])
+ (form$ (#Cons (identifier$ ["lux" "record$"])
(#Cons (with-export-meta meta)
#Nil)))))))
@@ -1457,11 +1457,11 @@
name
(form$ (list (text$ "lux check")
type
- (form$ (list (symbol$ ["lux" "function'"])
+ (form$ (list (identifier$ ["lux" "function'"])
name
(tuple$ args)
body))))
- (form$ (#Cons (symbol$ ["lux" "record$"])
+ (form$ (#Cons (identifier$ ["lux" "record$"])
(#Cons meta
#Nil)))))))
@@ -1469,7 +1469,7 @@
(return (list (form$ (list (text$ "lux def")
name
(form$ (list (text$ "lux check") type body))
- (form$ (#Cons (symbol$ ["lux" "record$"])
+ (form$ (#Cons (identifier$ ["lux" "record$"])
(#Cons meta
#Nil)))))))
@@ -1650,17 +1650,17 @@
(macro:' (do tokens)
({(#Cons monad (#Cons [_ (#Tuple bindings)] (#Cons body #Nil)))
- (let' [g!wrap (symbol$ ["" "wrap"])
- g!bind (symbol$ ["" " bind "])
+ (let' [g!wrap (identifier$ ["" "wrap"])
+ g!bind (identifier$ ["" " bind "])
body' (list/fold ("lux check" (-> (& Code Code) Code Code)
(function' [binding body']
(let' [[var value] binding]
({[_ (#Tag "" "let")]
- (form$ (list (symbol$ ["lux" "let'"]) value body'))
+ (form$ (list (identifier$ ["lux" "let'"]) value body'))
_
(form$ (list g!bind
- (form$ (list (tuple$ (list (symbol$ ["" ""]) var)) body'))
+ (form$ (list (tuple$ (list (identifier$ ["" ""]) var)) body'))
value))}
var))))
body
@@ -1805,7 +1805,7 @@
#None}
def-meta)))
-(def:''' (resolve-global-symbol full-name state)
+(def:''' (resolve-global-identifier full-name state)
#Nil
(-> Name ($' Meta Name))
(let' [[module name] full-name
@@ -1815,7 +1815,7 @@
#scope-type-vars scope-type-vars} state]
({(#Some {#module-hash _ #module-aliases _ #definitions definitions #imports _ #tags tags #types types #module-annotations _ #module-state _})
({(#Some [def-type def-meta def-value])
- ({(#Some [_ (#Symbol real-name)])
+ ({(#Some [_ (#Identifier real-name)])
(#Right [state real-name])
_
@@ -1839,7 +1839,7 @@
(#Cons lastI inits)
(do Monad<Meta>
- [lastO ({[_ (#Form (#Cons [[_ (#Symbol ["" "~+"])] (#Cons [spliced #Nil])]))]
+ [lastO ({[_ (#Form (#Cons [[_ (#Identifier ["" "~+"])] (#Cons [spliced #Nil])]))]
(let' [[[_module-name _ _] _] spliced]
(wrap spliced))
@@ -1850,9 +1850,9 @@
lastI)]
(monad/fold Monad<Meta>
(function' [leftI rightO]
- ({[_ (#Form (#Cons [[_ (#Symbol ["" "~+"])] (#Cons [spliced #Nil])]))]
+ ({[_ (#Form (#Cons [[_ (#Identifier ["" "~+"])] (#Cons [spliced #Nil])]))]
(let' [[[_module-name _ _] _] spliced]
- (wrap (form$ (list (symbol$ ["lux" "splice-helper"])
+ (wrap (form$ (list (identifier$ ["lux" "splice-helper"])
spliced
rightO))))
@@ -1908,26 +1908,26 @@
module)]
(return (wrap-meta (form$ (list (tag$ ["lux" "Tag"]) (tuple$ (list (text$ module') (text$ name))))))))
- [#1 [_ (#Symbol [module name])]]
+ [#1 [_ (#Identifier [module name])]]
(do Monad<Meta>
[real-name ({""
(if (text/= "" subst)
(wrap [module name])
- (resolve-global-symbol [subst name]))
+ (resolve-global-identifier [subst name]))
_
(wrap [module name])}
module)
#let [[module name] real-name]]
- (return (wrap-meta (form$ (list (tag$ ["lux" "Symbol"]) (tuple$ (list (text$ module) (text$ name))))))))
+ (return (wrap-meta (form$ (list (tag$ ["lux" "Identifier"]) (tuple$ (list (text$ module) (text$ name))))))))
- [#0 [_ (#Symbol [module name])]]
- (return (wrap-meta (form$ (list (tag$ ["lux" "Symbol"]) (tuple$ (list (text$ module) (text$ name)))))))
+ [#0 [_ (#Identifier [module name])]]
+ (return (wrap-meta (form$ (list (tag$ ["lux" "Identifier"]) (tuple$ (list (text$ module) (text$ name)))))))
- [#1 [_ (#Form (#Cons [[_ (#Symbol ["" "~"])] (#Cons [unquoted #Nil])]))]]
+ [#1 [_ (#Form (#Cons [[_ (#Identifier ["" "~"])] (#Cons [unquoted #Nil])]))]]
(return unquoted)
- [#1 [_ (#Form (#Cons [[_ (#Symbol ["" "~!"])] (#Cons [dependent #Nil])]))]]
+ [#1 [_ (#Form (#Cons [[_ (#Identifier ["" "~!"])] (#Cons [dependent #Nil])]))]]
(do Monad<Meta>
[independent (untemplate replace? subst dependent)]
(wrap (wrap-meta (form$ (list (tag$ ["lux" "Form"])
@@ -1935,7 +1935,7 @@
(untemplate-text subst)
independent)))))))
- [#1 [_ (#Form (#Cons [[_ (#Symbol ["" "~'"])] (#Cons [keep-quoted #Nil])]))]]
+ [#1 [_ (#Form (#Cons [[_ (#Identifier ["" "~'"])] (#Cons [keep-quoted #Nil])]))]]
(untemplate #0 subst keep-quoted)
[_ [meta (#Form elems)]]
@@ -2007,7 +2007,7 @@
[current-module current-module-name
=template (untemplate #1 current-module template)]
(wrap (list (form$ (list (text$ "lux check")
- (symbol$ ["lux" "Code"])
+ (identifier$ ["lux" "Code"])
=template)))))
_
@@ -2023,7 +2023,7 @@
({(#Cons template #Nil)
(do Monad<Meta>
[=template (untemplate #1 "" template)]
- (wrap (list (form$ (list (text$ "lux check") (symbol$ ["lux" "Code"]) =template)))))
+ (wrap (list (form$ (list (text$ "lux check") (identifier$ ["lux" "Code"]) =template)))))
_
(fail "Wrong syntax for `")}
@@ -2036,7 +2036,7 @@
({(#Cons template #Nil)
(do Monad<Meta>
[=template (untemplate #0 "" template)]
- (wrap (list (form$ (list (text$ "lux check") (symbol$ ["lux" "Code"]) =template)))))
+ (wrap (list (form$ (list (text$ "lux check") (identifier$ ["lux" "Code"]) =template)))))
_
(fail "Wrong syntax for '")}
@@ -2108,7 +2108,7 @@
(def:''' (get-name x)
#Nil
(-> Code ($' Maybe Name))
- ({[_ (#Symbol sname)]
+ ({[_ (#Identifier sname)]
(#Some sname)
_
@@ -2128,7 +2128,7 @@
(def:''' (get-short x)
#Nil
(-> Code ($' Maybe Text))
- ({[_ (#Symbol "" sname)]
+ ({[_ (#Identifier "" sname)]
(#Some sname)
_
@@ -2148,7 +2148,7 @@
(def:''' (apply-template env template)
#Nil
(-> RepEnv Code Code)
- ({[_ (#Symbol "" sname)]
+ ({[_ (#Identifier "" sname)]
({(#Some subst)
subst
@@ -2633,7 +2633,7 @@
(get-meta ["lux" "export?"] def-meta))
_
- ({(#Some [_ (#Symbol [r-module r-name])])
+ ({(#Some [_ (#Identifier [r-module r-name])])
(find-macro' modules current-module r-module r-name)
_
@@ -2702,7 +2702,7 @@
(def:''' (macro-expand-once token)
#Nil
(-> Code ($' Meta ($' List Code)))
- ({[_ (#Form (#Cons [_ (#Symbol macro-name)] args))]
+ ({[_ (#Form (#Cons [_ (#Identifier macro-name)] args))]
(do Monad<Meta>
[macro-name' (normalize macro-name)
?macro (find-macro macro-name')]
@@ -2720,7 +2720,7 @@
(def:''' (macro-expand token)
#Nil
(-> Code ($' Meta ($' List Code)))
- ({[_ (#Form (#Cons [_ (#Symbol macro-name)] args))]
+ ({[_ (#Form (#Cons [_ (#Identifier macro-name)] args))]
(do Monad<Meta>
[macro-name' (normalize macro-name)
?macro (find-macro macro-name')]
@@ -2741,7 +2741,7 @@
(def:''' (macro-expand-all syntax)
#Nil
(-> Code ($' Meta ($' List Code)))
- ({[_ (#Form (#Cons [_ (#Symbol macro-name)] args))]
+ ({[_ (#Form (#Cons [_ (#Identifier macro-name)] args))]
(do Monad<Meta>
[macro-name' (normalize macro-name)
?macro (find-macro macro-name')]
@@ -2754,7 +2754,7 @@
#None
(do Monad<Meta>
[args' (monad/map Monad<Meta> macro-expand-all args)]
- (wrap (list (form$ (#Cons (symbol$ macro-name) (list/join args'))))))}
+ (wrap (list (form$ (#Cons (identifier$ macro-name) (list/join args'))))))}
?macro))
[_ (#Form members)]
@@ -2802,7 +2802,7 @@
#Nil))))]
(` ("lux in-module" (~ (text$ module)) (~ (walk-type type'))))
- [_ (#Form (#Cons [_ (#Symbol ["" ":~"])] (#Cons expression #Nil)))]
+ [_ (#Form (#Cons [_ (#Identifier ["" ":~"])] (#Cons expression #Nil)))]
expression
[_ (#Form (#Cons type-fn args))]
@@ -2938,7 +2938,7 @@
#seed (n/+ +1 seed) #expected expected
#cursor cursor #extensions extensions
#scope-type-vars scope-type-vars}
- (symbol$ ["" ($_ text/compose "__gensym__" prefix (nat/encode seed))]))}
+ (identifier$ ["" ($_ text/compose "__gensym__" prefix (nat/encode seed))]))}
state))
(macro:' #export (Rec tokens)
@@ -2947,7 +2947,7 @@
## A name has to be given to the whole type, to use it within its body.
(Rec Self
[Int (List Self)])")])
- ({(#Cons [_ (#Symbol "" name)] (#Cons body #Nil))
+ ({(#Cons [_ (#Identifier "" name)] (#Cons body #Nil))
(let' [body' (replace-syntax (list [name (` (#.Apply (~ (make-parameter +1)) (~ (make-parameter +0))))])
(update-parameters body))]
(return (list (` (#.Apply .Nothing (#.UnivQ #.Nil (~ body')))))))
@@ -2965,7 +2965,7 @@
(log! \"#3\")
\"YOLO\")")])
({(#Cons value actions)
- (let' [dummy (symbol$ ["" ""])]
+ (let' [dummy (identifier$ ["" ""])]
(return (list (list/fold ("lux check" (-> Code Code Code)
(function' [pre post] (` ({(~ dummy) (~ post)}
(~ pre)))))
@@ -3047,7 +3047,7 @@
[_ (#Text value)]
($_ text/compose "\"" value "\"")
- [_ (#Symbol [prefix name])]
+ [_ (#Identifier [prefix name])]
(if (text/= "" prefix)
name
($_ text/compose prefix "." name))
@@ -3082,18 +3082,18 @@
(def:' (expander branches)
(-> (List Code) (Meta (List Code)))
- ({(#Cons [_ (#Form (#Cons [_ (#Symbol macro-name)] macro-args))]
+ ({(#Cons [_ (#Form (#Cons [_ (#Identifier macro-name)] macro-args))]
(#Cons body
branches'))
(do Monad<Meta>
[??? (macro? macro-name)]
(if ???
(do Monad<Meta>
- [init-expansion (macro-expand-once (form$ (list& (symbol$ macro-name) (form$ macro-args) body branches')))]
+ [init-expansion (macro-expand-once (form$ (list& (identifier$ macro-name) (form$ macro-args) body branches')))]
(expander init-expansion))
(do Monad<Meta>
[sub-expansion (expander branches')]
- (wrap (list& (form$ (list& (symbol$ macro-name) macro-args))
+ (wrap (list& (form$ (list& (identifier$ macro-name) macro-args))
body
sub-expansion)))))
@@ -3191,10 +3191,10 @@
_
(fail "Wrong syntax for ^or")))
-(def:' (symbol? code)
+(def:' (identifier? code)
(-> Code Bit)
(case code
- [_ (#Symbol _)]
+ [_ (#Identifier _)]
#1
_
@@ -3214,7 +3214,7 @@
(list/fold (: (-> [Code Code] Code Code)
(function' [lr body']
(let' [[l r] lr]
- (if (symbol? l)
+ (if (identifier? l)
(` ({(~ l) (~ body')} (~ r)))
(` (case (~ r) (~ l) (~ body')))))))
body)
@@ -3236,23 +3236,23 @@
(function (const x y) x))")])
(case (: (Maybe [Text Code (List Code) Code])
(case tokens
- (^ (list [_ (#Form (list& [_ (#Symbol ["" name])] head tail))] body))
+ (^ (list [_ (#Form (list& [_ (#Identifier ["" name])] head tail))] body))
(#Some name head tail body)
_
#None))
(#Some g!name head tail body)
- (let [g!blank (symbol$ ["" ""])
- g!name (symbol$ ["" g!name])
+ (let [g!blank (identifier$ ["" ""])
+ g!name (identifier$ ["" g!name])
body+ (list/fold (: (-> Code Code Code)
(function' [arg body']
- (if (symbol? arg)
+ (if (identifier? arg)
(` ([(~ g!blank) (~ arg)] (~ body')))
(` ([(~ g!blank) (~ g!blank)]
(case (~ g!blank) (~ arg) (~ body')))))))
body
(list/reverse tail))]
- (return (list (if (symbol? head)
+ (return (list (if (identifier? head)
(` ([(~ g!name) (~ head)] (~ body+)))
(` ([(~ g!name) (~ g!blank)] (case (~ g!blank) (~ head) (~ body+))))))))
@@ -3283,7 +3283,7 @@
[_ (#Tag [prefix name])]
(meta-code ["lux" "Tag"] (` [(~ (text$ prefix)) (~ (text$ name))]))
- (^or [_ (#Form _)] [_ (#Symbol _)])
+ (^or [_ (#Form _)] [_ (#Identifier _)])
code
[_ (#Tuple xs)]
@@ -3436,30 +3436,30 @@
(^template [<tag>]
(^ (list [_ (<tag> [prefix name])]))
(return (list (` [(~ (text$ prefix)) (~ (text$ name))]))))
- ([#Symbol] [#Tag])
+ ([#Identifier] [#Tag])
_
(fail \"Wrong syntax for name-for\")))")])
(let [[exported? tokens] (export^ tokens)
name+args+meta+body?? (: (Maybe [Name (List Code) Code Code])
(case tokens
- (^ (list [_ (#Form (list& [_ (#Symbol name)] args))] body))
+ (^ (list [_ (#Form (list& [_ (#Identifier name)] args))] body))
(#Some [name args (` {}) body])
- (^ (list [_ (#Symbol name)] body))
+ (^ (list [_ (#Identifier name)] body))
(#Some [name #Nil (` {}) body])
- (^ (list [_ (#Form (list& [_ (#Symbol name)] args))] [meta-rec-cursor (#Record meta-rec-parts)] body))
+ (^ (list [_ (#Form (list& [_ (#Identifier name)] args))] [meta-rec-cursor (#Record meta-rec-parts)] body))
(#Some [name args [meta-rec-cursor (#Record meta-rec-parts)] body])
- (^ (list [_ (#Symbol name)] [meta-rec-cursor (#Record meta-rec-parts)] body))
+ (^ (list [_ (#Identifier name)] [meta-rec-cursor (#Record meta-rec-parts)] body))
(#Some [name #Nil [meta-rec-cursor (#Record meta-rec-parts)] body])
_
#None))]
(case name+args+meta+body??
(#Some [name args meta body])
- (let [name (symbol$ name)
+ (let [name (identifier$ name)
def-sig (case args
#Nil name
_ (` ((~ name) (~+ args))))]
@@ -3491,16 +3491,16 @@
(let [[exported? tokens'] (export^ tokens)
?parts (: (Maybe [Name (List Code) Code (List Code)])
(case tokens'
- (^ (list& [_ (#Form (list& [_ (#Symbol name)] args))] [meta-rec-cursor (#Record meta-rec-parts)] sigs))
+ (^ (list& [_ (#Form (list& [_ (#Identifier name)] args))] [meta-rec-cursor (#Record meta-rec-parts)] sigs))
(#Some name args [meta-rec-cursor (#Record meta-rec-parts)] sigs)
- (^ (list& [_ (#Symbol name)] [meta-rec-cursor (#Record meta-rec-parts)] sigs))
+ (^ (list& [_ (#Identifier name)] [meta-rec-cursor (#Record meta-rec-parts)] sigs))
(#Some name #Nil [meta-rec-cursor (#Record meta-rec-parts)] sigs)
- (^ (list& [_ (#Form (list& [_ (#Symbol name)] args))] sigs))
+ (^ (list& [_ (#Form (list& [_ (#Identifier name)] args))] sigs))
(#Some name args (` {}) sigs)
- (^ (list& [_ (#Symbol name)] sigs))
+ (^ (list& [_ (#Identifier name)] sigs))
(#Some name #Nil (` {}) sigs)
_
@@ -3515,14 +3515,14 @@
(: (-> Code (Meta [Text Code]))
(function (_ token)
(case token
- (^ [_ (#Form (list [_ (#Text "lux check")] type [_ (#Symbol ["" name])]))])
+ (^ [_ (#Form (list [_ (#Text "lux check")] type [_ (#Identifier ["" name])]))])
(wrap [name type])
_
(fail "Signatures require typed members!"))))
(list/join sigs')))
#let [[_module _name] name+
- def-name (symbol$ name)
+ def-name (identifier$ name)
sig-type (record$ (list/map (: (-> [Text Code] [Code Code])
(function (_ [m-name m-type])
[(tag$ ["" m-name]) m-type]))
@@ -3615,7 +3615,7 @@
(default 20 #.None) => 20"}
(case tokens
(^ (list else maybe))
- (let [g!temp (: Code [dummy-cursor (#Symbol ["" ""])])
+ (let [g!temp (: Code [dummy-cursor (#Identifier ["" ""])])
code (` (case (~ maybe)
(#.Some (~ g!temp))
(~ g!temp)
@@ -3867,7 +3867,7 @@
(: (-> Code (Meta [Code Code]))
(function (_ token)
(case token
- (^ [_ (#Form (list [_ (#Text "lux def")] [_ (#Symbol "" tag-name)] value meta))])
+ (^ [_ (#Form (list [_ (#Text "lux def")] [_ (#Identifier "" tag-name)] value meta))])
(case (get tag-name tag-mappings)
(#Some tag)
(wrap [tag value])
@@ -3918,21 +3918,21 @@
(case ?parts
(#Some [name args type meta definitions])
(case (case name
- [_ (#Symbol ["" "_"])]
+ [_ (#Identifier ["" "_"])]
(case type
- (^ [_ (#Form (list& [_ (#Symbol [_ sig-name])] sig-args))])
+ (^ [_ (#Form (list& [_ (#Identifier [_ sig-name])] sig-args))])
(case (: (Maybe (List Text))
(monad/map Monad<Maybe>
(function (_ sa)
(case sa
- [_ (#Symbol [_ arg-name])]
+ [_ (#Identifier [_ arg-name])]
(#Some arg-name)
_
#None))
sig-args))
(^ (#Some params))
- (#Some (symbol$ ["" ($_ text/compose sig-name "<" (|> params (interpose ",") text/join) ">")]))
+ (#Some (identifier$ ["" ($_ text/compose sig-name "<" (|> params (interpose ",") text/join) ">")]))
_
#None)
@@ -3983,22 +3983,22 @@
[#0 tokens'])
parts (: (Maybe [Text (List Code) Code (List Code)])
(case tokens'
- (^ (list [_ (#Symbol "" name)] [meta-cursor (#Record meta-parts)] [type-cursor (#Record type-parts)]))
+ (^ (list [_ (#Identifier "" name)] [meta-cursor (#Record meta-parts)] [type-cursor (#Record type-parts)]))
(#Some [name #Nil [meta-cursor (#Record meta-parts)] (list [type-cursor (#Record type-parts)])])
- (^ (list& [_ (#Symbol "" name)] [meta-cursor (#Record meta-parts)] type-code1 type-codes))
+ (^ (list& [_ (#Identifier "" name)] [meta-cursor (#Record meta-parts)] type-code1 type-codes))
(#Some [name #Nil [meta-cursor (#Record meta-parts)] (#Cons type-code1 type-codes)])
- (^ (list& [_ (#Symbol "" name)] type-codes))
+ (^ (list& [_ (#Identifier "" name)] type-codes))
(#Some [name #Nil (` {}) type-codes])
- (^ (list [_ (#Form (#Cons [_ (#Symbol "" name)] args))] [meta-cursor (#Record meta-parts)] [type-cursor (#Record type-parts)]))
+ (^ (list [_ (#Form (#Cons [_ (#Identifier "" name)] args))] [meta-cursor (#Record meta-parts)] [type-cursor (#Record type-parts)]))
(#Some [name args [meta-cursor (#Record meta-parts)] (list [type-cursor (#Record type-parts)])])
- (^ (list& [_ (#Form (#Cons [_ (#Symbol "" name)] args))] [meta-cursor (#Record meta-parts)] type-code1 type-codes))
+ (^ (list& [_ (#Form (#Cons [_ (#Identifier "" name)] args))] [meta-cursor (#Record meta-parts)] type-code1 type-codes))
(#Some [name args [meta-cursor (#Record meta-parts)] (#Cons type-code1 type-codes)])
- (^ (list& [_ (#Form (#Cons [_ (#Symbol "" name)] args))] type-codes))
+ (^ (list& [_ (#Form (#Cons [_ (#Identifier "" name)] args))] type-codes))
(#Some [name args (` {}) type-codes])
_
@@ -4008,7 +4008,7 @@
(do Monad<Meta>
[type+tags?? (unfold-type-def type-codes)
module-name current-module-name]
- (let [type-name (symbol$ ["" name])
+ (let [type-name (identifier$ ["" name])
[type tags??] type+tags??
type-meta (: Code
(case tags??
@@ -4021,8 +4021,8 @@
type' (: (Maybe Code)
(if rec?
(if (empty? args)
- (let [g!param (symbol$ ["" ""])
- prime-name (symbol$ ["" name])
+ (let [g!param (identifier$ ["" ""])
+ prime-name (identifier$ ["" name])
type+ (replace-syntax (list [name (` ((~ prime-name) .Nothing))]) type)]
(#Some (` ((All (~ prime-name) [(~ g!param)] (~ type+))
.Nothing))))
@@ -4076,11 +4076,11 @@
(: (-> Code (Meta Text))
(function (_ def)
(case def
- [_ (#Symbol ["" name])]
+ [_ (#Identifier ["" name])]
(return name)
_
- (fail "only/exclude requires symbols."))))
+ (fail "only/exclude requires identifiers."))))
defs))
(def: (parse-referrals tokens)
@@ -4116,11 +4116,11 @@
[structs' (monad/map Monad<Meta>
(function (_ struct)
(case struct
- [_ (#Symbol ["" struct-name])]
+ [_ (#Identifier ["" struct-name])]
(return struct-name)
_
- (fail "Expected all structures of opening form to be symbols.")))
+ (fail "Expected all structures of opening form to be identifiers.")))
structs)
next+remainder (parse-openings parts')]
(let [[next remainder] next+remainder]
@@ -4216,7 +4216,7 @@
(: (-> Code (Meta (List Importation)))
(function (_ token)
(case token
- [_ (#Symbol ["" m-name])]
+ [_ (#Identifier ["" m-name])]
(do Monad<Meta>
[m-name (clean-module nested? relative-root m-name)]
(wrap (list {#import-name m-name
@@ -4224,7 +4224,7 @@
#import-refer {#refer-defs #All
#refer-open (list)}})))
- (^ [_ (#Tuple (list& [_ (#Symbol ["" m-name])] extra))])
+ (^ [_ (#Tuple (list& [_ (#Identifier ["" m-name])] extra))])
(do Monad<Meta>
[import-name (clean-module nested? relative-root m-name)
referral+extra (parse-referrals extra)
@@ -4240,7 +4240,7 @@
#refer-open openings}}
sub-imports))))
- (^ [_ (#Tuple (list& [_ (#Text alias)] [_ (#Symbol ["" m-name])] extra))])
+ (^ [_ (#Tuple (list& [_ (#Text alias)] [_ (#Identifier ["" m-name])] extra))])
(do Monad<Meta>
[import-name (clean-module nested? relative-root m-name)
referral+extra (parse-referrals extra)
@@ -4501,7 +4501,7 @@
[g!temp (gensym "temp")]
(wrap (list& g!temp (` (..^open (~ g!temp) (~ (text$ alias)) (~ body))) branches)))
- (^ (list [_ (#Symbol name)] [_ (#Text alias)] body))
+ (^ (list [_ (#Identifier name)] [_ (#Text alias)] body))
(do Monad<Meta>
[init-type (find-type name)
struct-evidence (resolve-type-tags init-type)]
@@ -4515,7 +4515,7 @@
(function (recur source [tags members] target)
(let [pattern (record$ (list/map (function (_ [t-module t-name])
[(tag$ [t-module t-name])
- (symbol$ ["" (de-alias t-name alias)])])
+ (identifier$ ["" (de-alias t-name alias)])])
tags))]
(do Monad<Meta>
[enhanced-target (monad/fold Monad<Meta>
@@ -4532,7 +4532,7 @@
(wrap enhanced-target))))
target
(zip2 tags members))]
- (wrap (` ({(~ pattern) (~ enhanced-target)} (~ (symbol$ source)))))))))
+ (wrap (` ({(~ pattern) (~ enhanced-target)} (~ (identifier$ source)))))))))
name tags&members body)]
(wrap (list full-body)))))
@@ -4636,7 +4636,7 @@
(return (list/join decls')))
_
- (return (list (` ("lux def" (~ (symbol$ ["" (de-alias name alias)]))
+ (return (list (` ("lux def" (~ (identifier$ ["" (de-alias name alias)]))
(~ source+)
[(~ cursor-code) (#.Record #Nil)])))))))
@@ -4652,11 +4652,11 @@
(case tokens
(^ (list [_ (#Text alias)] struct))
(case struct
- [_ (#Symbol struct-name)]
+ [_ (#Identifier struct-name)]
(do Monad<Meta>
[struct-type (find-type struct-name)
output (resolve-type-tags struct-type)
- #let [source (symbol$ struct-name)]]
+ #let [source (identifier$ struct-name)]]
(case output
(#Some [tags members])
(do Monad<Meta>
@@ -4774,17 +4774,17 @@
(wrap (list)))
#let [defs (list/map (: (-> Text Code)
(function (_ def)
- (` ("lux def" (~ (symbol$ ["" def]))
- (~ (symbol$ [module-name def]))
+ (` ("lux def" (~ (identifier$ ["" def]))
+ (~ (identifier$ [module-name def]))
[(~ cursor-code)
(#.Record (#Cons [[(~ cursor-code) (#.Tag ["lux" "alias"])]
- [(~ cursor-code) (#.Symbol [(~ (text$ module-name)) (~ (text$ def))])]]
+ [(~ cursor-code) (#.Identifier [(~ (text$ module-name)) (~ (text$ def))])]]
#Nil))]))))
defs')
openings (join-map (: (-> Openings (List Code))
(function (_ [alias structs])
(list/map (function (_ name)
- (` (open: (~ (text$ alias)) (~ (symbol$ [module-name name])))))
+ (` (open: (~ (text$ alias)) (~ (identifier$ [module-name name])))))
structs)))
r-opens)]]
(wrap (list/compose defs openings))
@@ -4808,15 +4808,15 @@
(list (' #*))
(#Only defs)
- (list (form$ (list& (' #+) (list/map local-symbol$ defs))))
+ (list (form$ (list& (' #+) (list/map local-identifier$ defs))))
(#Exclude defs)
- (list (form$ (list& (' #-) (list/map local-symbol$ defs))))
+ (list (form$ (list& (' #-) (list/map local-identifier$ defs))))
#Nothing
(list)))
openings (list/map (function (_ [alias structs])
- (form$ (list& (text$ alias) (list/map local-symbol$ structs))))
+ (form$ (list& (text$ alias) (list/map local-identifier$ structs))))
r-opens)]
(` (..refer (~ (text$ module-name))
(~+ localizations)
@@ -4874,11 +4874,11 @@
## Also allows using that value as a function.
(:: Codec<Text,Int> encode 123)"}
(case tokens
- (^ (list struct [_ (#Symbol member)]))
- (return (list (` (let [(^open ".") (~ struct)] (~ (symbol$ member))))))
+ (^ (list struct [_ (#Identifier member)]))
+ (return (list (` (let [(^open ".") (~ struct)] (~ (identifier$ member))))))
- (^ (list& struct [_ (#Symbol member)] args))
- (return (list (` ((let [(^open ".") (~ struct)] (~ (symbol$ member))) (~+ args)))))
+ (^ (list& struct [_ (#Identifier member)] args))
+ (return (list (` ((let [(^open ".") (~ struct)] (~ (identifier$ member))) (~+ args)))))
_
(fail "Wrong syntax for ::")))
@@ -5130,7 +5130,7 @@
[#Rev]
[#Frac]
[#Text]
- [#Symbol]
+ [#Identifier]
[#Tag])
(^template [<tag>]
@@ -5241,7 +5241,7 @@
[#Int int/encode]
[#Frac frac/encode]
[#Text text/encode]
- [#Symbol name/encode]
+ [#Identifier name/encode]
[#Tag tag/encode])
(^template [<tag> <open> <close> <prep>]
@@ -5349,7 +5349,7 @@
(` (#Apply (~ (type-to-code arg)) (~ (type-to-code fun))))
(#Named [module name] type)
- (symbol$ [module name])))
+ (identifier$ [module name])))
(macro: #export (loop tokens)
{#.doc (doc "Allows arbitrary looping, using the \"recur\" form to re-start the loop."
@@ -5372,7 +5372,7 @@
(#.Some [name bindings body])
(^ (list [_ (#Tuple bindings)] body))
- (#.Some [(symbol$ ["" "recur"]) bindings body])
+ (#.Some [(identifier$ ["" "recur"]) bindings body])
_
#.None)]
@@ -5381,7 +5381,7 @@
(let [pairs (as-pairs bindings)
vars (list/map first pairs)
inits (list/map second pairs)]
- (if (every? symbol? inits)
+ (if (every? identifier? inits)
(do Monad<Meta>
[inits' (: (Meta (List Name))
(case (monad/map Monad<Maybe> get-name inits)
@@ -5432,7 +5432,7 @@
g!_ (gensym "_")
#let [[idx tags exported? type] output
slot-pairings (list/map (: (-> Name [Text Code])
- (function (_ [module name]) [name (symbol$ ["" name])]))
+ (function (_ [module name]) [name (identifier$ ["" name])]))
(list& hslot tslots))
pattern (record$ (list/map (: (-> Name [Code Code])
(function (_ [module name])
@@ -5452,7 +5452,7 @@
(^or [_ (#Bit _)] [_ (#Nat _)] [_ (#Int _)] [_ (#Rev _)] [_ (#Frac _)] [_ (#Text _)] [_ (#Tag _)])
(#Some (list target))
- [_ (#Symbol [prefix name])]
+ [_ (#Identifier [prefix name])]
(if (and (text/= "" prefix)
(text/= label name))
(#Some tokens)
@@ -5501,18 +5501,18 @@
[(frac 123.0) "123.0" [_ (#.Frac 123.0)]]
[(text "\n") "\"\\n\"" [_ (#.Text "\n")]]
[(tag ["yolo" "lol"]) "#yolo.lol" [_ (#.Tag ["yolo" "lol"])]]
- [(symbol ["yolo" "lol"]) "yolo.lol" [_ (#.Symbol ["yolo" "lol"])]]
+ [(identifier ["yolo" "lol"]) "yolo.lol" [_ (#.Identifier ["yolo" "lol"])]]
[(form (list (bit #1) (int 123))) "(#1 123)" (^ [_ (#.Form (list [_ (#.Bit #1)] [_ (#.Int 123)]))])]
[(tuple (list (bit #1) (int 123))) "[#1 123]" (^ [_ (#.Tuple (list [_ (#.Bit #1)] [_ (#.Int 123)]))])]
[(record (list [(bit #1) (int 123)])) "{#1 123}" (^ [_ (#.Record (list [[_ (#.Bit #1)] [_ (#.Int 123)]]))])]
[(local-tag "lol") "#lol" [_ (#.Tag ["" "lol"])]]
- [(local-symbol "lol") "lol" [_ (#.Symbol ["" "lol"])]]
+ [(local-identifier "lol") "lol" [_ (#.Identifier ["" "lol"])]]
)]
(test-all <tests>))))}
(case tokens
(^ (list& [_ (#Tuple bindings)] bodies))
(case bindings
- (^ (list& [_ (#Symbol ["" var-name])] macro-expr bindings'))
+ (^ (list& [_ (#Identifier ["" var-name])] macro-expr bindings'))
(do Monad<Meta>
[expansion (macro-expand-once macro-expr)]
(case (place-tokens var-name expansion (` (.with-expansions
@@ -5574,7 +5574,7 @@
(def: (anti-quote token)
(-> Code (Meta Code))
(case token
- [_ (#Symbol [def-prefix def-name])]
+ [_ (#Identifier [def-prefix def-name])]
(if (text/= "" def-prefix)
(:: Monad<Meta> return token)
(anti-quote-def [def-prefix def-name]))
@@ -5693,7 +5693,7 @@
(fail "Wrong syntax for ^multi")))
(macro: #export (name-for tokens)
- {#.doc (doc "Given a symbol or a tag, gives back a 2 tuple with the prefix and name parts, both as Text."
+ {#.doc (doc "Given an identifier or a tag, gives back a 2 tuple with the prefix and name parts, both as Text."
(name-for #.doc)
"=>"
["lux" "doc"])}
@@ -5701,7 +5701,7 @@
(^template [<tag>]
(^ (list [_ (<tag> [prefix name])]))
(return (list (` [(~ (text$ prefix)) (~ (text$ name))]))))
- ([#Symbol] [#Tag])
+ ([#Identifier] [#Tag])
_
(fail "Wrong syntax for name-for")))
@@ -5780,8 +5780,8 @@
+0
(to-list set))))}
(case tokens
- (^ (list& [_meta (#Form (list [_ (#Symbol ["" name])] pattern))] body branches))
- (let [g!whole (symbol$ ["" name])]
+ (^ (list& [_meta (#Form (list [_ (#Identifier ["" name])] pattern))] body branches))
+ (let [g!whole (identifier$ ["" name])]
(return (list& g!whole
(` (case (~ g!whole) (~ pattern) (~ body)))
branches)))
@@ -5795,8 +5795,8 @@
(^|> value [inc (n/% +10) (n/max +1)])
(foo value)))}
(case tokens
- (^ (list& [_meta (#Form (list [_ (#Symbol ["" name])] [_ (#Tuple steps)]))] body branches))
- (let [g!name (symbol$ ["" name])]
+ (^ (list& [_meta (#Form (list [_ (#Identifier ["" name])] [_ (#Tuple steps)]))] body branches))
+ (let [g!name (identifier$ ["" name])]
(return (list& g!name
(` (let [(~ g!name) (|> (~ g!name) (~+ steps))]
(~ body)))
@@ -5838,7 +5838,7 @@
"=="
Int)}
(case tokens
- (^ (list [_ (#Symbol var-name)]))
+ (^ (list [_ (#Identifier var-name)]))
(do Monad<Meta>
[var-type (find-type var-name)]
(wrap (list (type-to-code var-type))))
@@ -5849,12 +5849,12 @@
(def: (parse-complex-declaration tokens)
(-> (List Code) (Meta [[Text (List Text)] (List Code)]))
(case tokens
- (^ (list& [_ (#Form (list& [_ (#Symbol ["" name])] args'))] tokens'))
+ (^ (list& [_ (#Form (list& [_ (#Identifier ["" name])] args'))] tokens'))
(do Monad<Meta>
[args (monad/map Monad<Meta>
(function (_ arg')
(case arg'
- [_ (#Symbol ["" arg-name])]
+ [_ (#Identifier ["" arg-name])]
(wrap arg-name)
_
@@ -5924,13 +5924,13 @@
g!compiler (gensym "compiler")
g!_ (gensym "_")
#let [rep-env (list/map (function (_ arg)
- [arg (` ((~' ~) (~ (symbol$ ["" arg]))))])
+ [arg (` ((~' ~) (~ (identifier$ ["" arg]))))])
args)]]
(wrap (list (` (macro: (~+ (export export?))
- ((~ (symbol$ ["" name])) (~ g!tokens) (~ g!compiler))
+ ((~ (identifier$ ["" name])) (~ g!tokens) (~ g!compiler))
(~ anns)
(case (~ g!tokens)
- (^ (list (~+ (list/map (|>> [""] symbol$) args))))
+ (^ (list (~+ (list/map (|>> [""] identifier$) args))))
(#.Right [(~ g!compiler)
(list (~+ (list/map (function (_ template)
(` (` (~ (replace-syntax rep-env template)))))
@@ -6018,7 +6018,7 @@
(def: (label-code code)
(-> Code (Meta [(List [Code Code]) Code]))
(case code
- (^ [ann (#Form (list [_ (#Symbol ["" "~~"])] expansion))])
+ (^ [ann (#Form (list [_ (#Identifier ["" "~~"])] expansion))])
(do Monad<Meta>
[g!expansion (gensym "g!expansion")]
(wrap [(list [g!expansion expansion]) g!expansion]))
@@ -6091,7 +6091,7 @@
[#Frac "Frac" frac$]
[#Text "Text" text$]
[#Tag "Tag" name$]
- [#Symbol "Symbol" name$])
+ [#Identifier "Identifier" name$])
[_ (#Record fields)]
(do Monad<Meta>
@@ -6105,16 +6105,16 @@
g!meta (gensym "g!meta")]
(wrap (` [(~ g!meta) (#.Record (~ (untemplate-list =fields)))])))
- [_ (#Form (#Cons [[_ (#Symbol ["" "~"])] (#Cons [unquoted #Nil])]))]
+ [_ (#Form (#Cons [[_ (#Identifier ["" "~"])] (#Cons [unquoted #Nil])]))]
(return unquoted)
- [_ (#Form (#Cons [[_ (#Symbol ["" "~+"])] (#Cons [spliced #Nil])]))]
+ [_ (#Form (#Cons [[_ (#Identifier ["" "~+"])] (#Cons [spliced #Nil])]))]
(fail "Cannot use (~+) inside of ^code unless it is the last element in a form or a tuple.")
(^template [<tag>]
[_ (<tag> elems)]
(case (list/reverse elems)
- (#Cons [_ (#Form (#Cons [[_ (#Symbol ["" "~+"])] (#Cons [spliced #Nil])]))]
+ (#Cons [_ (#Form (#Cons [[_ (#Identifier ["" "~+"])] (#Cons [spliced #Nil])]))]
inits)
(do Monad<Meta>
[=inits (monad/map Monad<Meta> untemplate-pattern (list/reverse inits))
diff --git a/stdlib/source/lux/cli.lux b/stdlib/source/lux/cli.lux
index 9dc6a10ce..fdc1d9365 100644
--- a/stdlib/source/lux/cli.lux
+++ b/stdlib/source/lux/cli.lux
@@ -99,10 +99,10 @@
(def: program-args^
(Syntax Program-Args)
- (p.alt s.local-symbol
+ (p.alt s.local-identifier
(s.tuple (p.some (p.either (do p.Monad<Parser>
- [name s.local-symbol]
- (wrap [(code.symbol ["" name]) (` any)]))
+ [name s.local-identifier]
+ (wrap [(code.identifier ["" name]) (` any)]))
(s.record (p.seq s.any s.any)))))))
(syntax: #export (program:
@@ -127,7 +127,7 @@
(case args
(#Raw args)
(wrap (list (` ("lux program"
- (.function ((~ g!program) (~ (code.symbol ["" args])))
+ (.function ((~ g!program) (~ (code.identifier ["" args])))
((~! do) (~! io.Monad<IO>)
[]
(~ body)))))))
diff --git a/stdlib/source/lux/compiler/default/phase/analysis/case.lux b/stdlib/source/lux/compiler/default/phase/analysis/case.lux
index e523d86a9..5b5b2038c 100644
--- a/stdlib/source/lux/compiler/default/phase/analysis/case.lux
+++ b/stdlib/source/lux/compiler/default/phase/analysis/case.lux
@@ -152,7 +152,7 @@
(def: (analyse-pattern num-tags inputT pattern next)
(All [a] (-> (Maybe Nat) Type Code (Operation a) (Operation [Pattern a])))
(.case pattern
- [cursor (#.Symbol ["" name])]
+ [cursor (#.Identifier ["" name])]
(//.with-cursor cursor
(do ///.Monad<Operation>
[outputA (scope.with-local [name inputT]
diff --git a/stdlib/source/lux/compiler/default/phase/analysis/expression.lux b/stdlib/source/lux/compiler/default/phase/analysis/expression.lux
index dd27c87e6..8a0a129bc 100644
--- a/stdlib/source/lux/compiler/default/phase/analysis/expression.lux
+++ b/stdlib/source/lux/compiler/default/phase/analysis/expression.lux
@@ -77,7 +77,7 @@
(^ (#.Record pairs))
(structure.record compile pairs)
- (#.Symbol reference)
+ (#.Identifier reference)
(reference.reference reference)
(^ (#.Form (list& [_ (#.Text extension-name)] extension-args)))
@@ -88,7 +88,7 @@
## [[funcT funcA] (type.with-inference
## (compile func))]
## (case funcA
- ## [_ (#.Symbol def-name)]
+ ## [_ (#.Identifier def-name)]
## (do @
## [?macro (///.with-error-tracking
## (extension.lift (macro.find-macro def-name)))]
diff --git a/stdlib/source/lux/compiler/default/phase/analysis/reference.lux b/stdlib/source/lux/compiler/default/phase/analysis/reference.lux
index 0647dd391..862ec9daf 100644
--- a/stdlib/source/lux/compiler/default/phase/analysis/reference.lux
+++ b/stdlib/source/lux/compiler/default/phase/analysis/reference.lux
@@ -28,7 +28,7 @@
(with-expansions [<return> (wrap (|> def-name reference.constant #//.Reference))]
(do ///.Monad<Operation>
[[actualT def-anns _] (extension.lift (macro.find-def def-name))]
- (case (macro.get-symbol-ann (name-for #.alias) def-anns)
+ (case (macro.get-identifier-ann (name-for #.alias) def-anns)
(#.Some real-def-name)
(definition real-def-name)
diff --git a/stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux b/stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux
index 53fcfbff7..fb03f3788 100644
--- a/stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux
+++ b/stdlib/source/lux/compiler/default/phase/translation/scheme/extension/common.jvm.lux
@@ -37,11 +37,11 @@
(type: #export Variadic (-> (List Expression) Computation))
## [Utils]
-(syntax: (arity: {name s.local-symbol} {arity s.nat})
+(syntax: (arity: {name s.local-identifier} {arity s.nat})
(with-gensyms [g!_ g!extension g!name g!translate g!inputs]
(do @
[g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))]
- (wrap (list (` (def: #export ((~ (code.local-symbol name)) (~ g!extension))
+ (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!extension))
(-> (-> (..Vector (~ (code.nat arity)) Expression) Computation)
Handler)
(function ((~ g!_) (~ g!name) (~ g!translate) (~ g!inputs))
diff --git a/stdlib/source/lux/compiler/default/phase/translation/scheme/runtime.jvm.lux b/stdlib/source/lux/compiler/default/phase/translation/scheme/runtime.jvm.lux
index c67c2623f..f1a369333 100644
--- a/stdlib/source/lux/compiler/default/phase/translation/scheme/runtime.jvm.lux
+++ b/stdlib/source/lux/compiler/default/phase/translation/scheme/runtime.jvm.lux
@@ -74,18 +74,18 @@
(def: declaration
(s.Syntax [Text (List Text)])
- (p.either (p.seq s.local-symbol (parser/wrap (list)))
- (s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
+ (p.either (p.seq s.local-identifier (parser/wrap (list)))
+ (s.form (p.seq s.local-identifier (p.some s.local-identifier)))))
(syntax: (runtime: {[name args] declaration}
definition)
- (let [implementation (code.local-symbol (format "@@" name))
+ (let [implementation (code.local-identifier (format "@@" name))
runtime (format prefix "__" (name.normalize name))
@runtime (` (_.var (~ (code.text runtime))))
- argsC+ (list/map code.local-symbol args)
+ argsC+ (list/map code.local-identifier args)
argsLC+ (list/map (|>> name.normalize (format "LRV__") code.text (~) (_.var) (`))
args)
- declaration (` ((~ (code.local-symbol name))
+ declaration (` ((~ (code.local-identifier name))
(~+ argsC+)))
type (` (-> (~+ (list.repeat (list.size argsC+) (` _.Expression)))
_.Computation))]
@@ -125,11 +125,11 @@
(_.cdr/1 list))))
_.nil))
-(syntax: #export (with-vars {vars (s.tuple (p.many s.local-symbol))}
+(syntax: #export (with-vars {vars (s.tuple (p.many s.local-identifier))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
- (list (code.local-symbol var)
+ (list (code.local-identifier var)
(` (_.var (~ (code.text (format "LRV__" (name.normalize var)))))))))
list/join))]
(~ body))))))
diff --git a/stdlib/source/lux/compiler/default/syntax.lux b/stdlib/source/lux/compiler/default/syntax.lux
index 1378e37c0..20057bf28 100644
--- a/stdlib/source/lux/compiler/default/syntax.lux
+++ b/stdlib/source/lux/compiler/default/syntax.lux
@@ -572,7 +572,7 @@
(wrap [(update@ #.column (|>> ($_ n/+ +1 length)) where)
[where (#.Tag value)]])))
-(def: #export (symbol current-module aliases where)
+(def: #export (identifier current-module aliases where)
(-> Text Aliases Cursor (l.Lexer [Cursor Code]))
(do p.Monad<Parser>
[[value length] (name^ current-module aliases)]
@@ -585,7 +585,7 @@
["#1" #1])
_
- (#.Symbol value))]])))
+ (#.Identifier value))]])))
(exception: #export (end-of-file {module Text})
module)
@@ -609,7 +609,7 @@
(frac where)
(int where)
(rev where)
- (symbol current-module aliases where)
+ (identifier current-module aliases where)
(tag current-module aliases where)
(text where)
(do @
diff --git a/stdlib/source/lux/concurrency/actor.lux b/stdlib/source/lux/concurrency/actor.lux
index b9b1a22c2..fb0e9171a 100644
--- a/stdlib/source/lux/concurrency/actor.lux
+++ b/stdlib/source/lux/concurrency/actor.lux
@@ -171,8 +171,8 @@
(def: actor-decl^
(Syntax [Text (List Text)])
- (p.either (s.form (p.seq s.local-symbol (p.some s.local-symbol)))
- (p.seq s.local-symbol (:: p.Monad<Parser> wrap (list)))))
+ (p.either (s.form (p.seq s.local-identifier (p.some s.local-identifier)))
+ (p.seq s.local-identifier (:: p.Monad<Parser> wrap (list)))))
(do-template [<name> <desc>]
[(def: #export <name>
@@ -195,8 +195,8 @@
(def: behavior^
(s.Syntax BehaviorC)
- (let [handle-args ($_ p.seq s.local-symbol s.local-symbol s.local-symbol)
- stop-args ($_ p.seq s.local-symbol s.local-symbol)]
+ (let [handle-args ($_ p.seq s.local-identifier s.local-identifier s.local-identifier)
+ stop-args ($_ p.seq s.local-identifier s.local-identifier)]
(p.seq (p.maybe (s.form (p.seq (s.form (p.after (s.this (' handle)) handle-args))
s.any)))
(p.maybe (s.form (p.seq (s.form (p.after (s.this (' stop)) stop-args))
@@ -230,11 +230,11 @@
(with-gensyms [g!_ g!init]
(do @
[module macro.current-module-name
- #let [g!type (code.local-symbol (state-name _name))
- g!behavior (code.local-symbol (behavior-name _name))
- g!actor (code.local-symbol _name)
- g!new (code.local-symbol (new-name _name))
- g!vars (list/map code.local-symbol _vars)]]
+ #let [g!type (code.local-identifier (state-name _name))
+ g!behavior (code.local-identifier (behavior-name _name))
+ g!actor (code.local-identifier _name)
+ g!new (code.local-identifier (new-name _name))
+ g!vars (list/map code.local-identifier _vars)]]
(wrap (list (` (type: (~+ (csw.export export)) ((~ g!type) (~+ g!vars))
(~ state-type)))
(` (type: (~+ (csw.export export)) ((~ g!actor) (~+ g!vars))
@@ -251,9 +251,9 @@
(#.Some [[messageN stateN selfN] bodyC])
(` (function ((~ g!_)
- (~ (code.local-symbol messageN))
- (~ (code.local-symbol stateN))
- (~ (code.local-symbol selfN)))
+ (~ (code.local-identifier messageN))
+ (~ (code.local-identifier stateN))
+ (~ (code.local-identifier selfN)))
(do task.Monad<Task>
[]
(~ bodyC))))))
@@ -263,8 +263,8 @@
(#.Some [[causeN stateN] bodyC])
(` (function ((~ g!_)
- (~ (code.local-symbol causeN))
- (~ (code.local-symbol stateN)))
+ (~ (code.local-identifier causeN))
+ (~ (code.local-identifier stateN)))
(do promise.Monad<Promise>
[]
(~ bodyC))))))}))
@@ -285,17 +285,17 @@
(def: signature^
(s.Syntax Signature)
(s.form ($_ p.seq
- (p.default (list) (s.tuple (p.some s.local-symbol)))
- s.local-symbol
+ (p.default (list) (s.tuple (p.some s.local-identifier)))
+ s.local-identifier
(p.some csr.typed-input)
- s.local-symbol
- s.local-symbol
+ s.local-identifier
+ s.local-identifier
s.any)))
(def: reference^
(s.Syntax [Name (List Text)])
- (p.either (s.form (p.seq s.symbol (p.some s.local-symbol)))
- (p.seq s.symbol (:: p.Monad<Parser> wrap (list)))))
+ (p.either (s.form (p.seq s.identifier (p.some s.local-identifier)))
+ (p.seq s.identifier (:: p.Monad<Parser> wrap (list)))))
(syntax: #export (message:
{export csr.export}
@@ -322,15 +322,15 @@
[current-module macro.current-module-name
actor-name (resolve-actor actor-name)
#let [message-name [current-module (get@ #name signature)]
- g!type (code.symbol (product.both id state-name actor-name))
- g!message (code.local-symbol (get@ #name signature))
- g!actor-vars (list/map code.local-symbol actor-vars)
- actorC (` ((~ (code.symbol actor-name)) (~+ g!actor-vars)))
- g!all-vars (|> (get@ #vars signature) (list/map code.local-symbol) (list/compose g!actor-vars))
+ g!type (code.identifier (product.both id state-name actor-name))
+ g!message (code.local-identifier (get@ #name signature))
+ g!actor-vars (list/map code.local-identifier actor-vars)
+ actorC (` ((~ (code.identifier actor-name)) (~+ g!actor-vars)))
+ g!all-vars (|> (get@ #vars signature) (list/map code.local-identifier) (list/compose g!actor-vars))
g!inputsC (|> (get@ #inputs signature) (list/map product.left))
g!inputsT (|> (get@ #inputs signature) (list/map product.right))
- g!state (|> signature (get@ #state) code.local-symbol)
- g!self (|> signature (get@ #self) code.local-symbol)
+ g!state (|> signature (get@ #state) code.local-identifier)
+ g!self (|> signature (get@ #self) code.local-identifier)
g!actor-refs (: (List Code)
(if (list.empty? actor-vars)
(list)
diff --git a/stdlib/source/lux/control/comonad.lux b/stdlib/source/lux/control/comonad.lux
index 397d41f55..211604dc7 100644
--- a/stdlib/source/lux/control/comonad.lux
+++ b/stdlib/source/lux/control/comonad.lux
@@ -37,9 +37,9 @@
(case tokens
(#.Cons comonad (#.Cons [_ (#.Tuple bindings)] (#.Cons body #.Nil)))
(if (|> bindings list.size (n/% +2) (n/= +0))
- (let [g!_ (: Code [_cursor (#.Symbol ["" " _ "])])
- g!map (: Code [_cursor (#.Symbol ["" " map "])])
- g!split (: Code [_cursor (#.Symbol ["" " split "])])
+ (let [g!_ (: Code [_cursor (#.Identifier ["" " _ "])])
+ g!map (: Code [_cursor (#.Identifier ["" " map "])])
+ g!split (: Code [_cursor (#.Identifier ["" " split "])])
body' (list/fold (: (-> [Code Code] Code Code)
(function (_ binding body')
(let [[var value] binding]
diff --git a/stdlib/source/lux/control/concatenative.lux b/stdlib/source/lux/control/concatenative.lux
index f52ff2353..ab3ee39b1 100644
--- a/stdlib/source/lux/control/concatenative.lux
+++ b/stdlib/source/lux/control/concatenative.lux
@@ -31,7 +31,7 @@
(def: aliases^
(s.Syntax (List Alias))
- (|> (p.seq s.local-symbol s.any)
+ (|> (p.seq s.local-identifier s.any)
p.some
s.record
(p.default (list))))
@@ -71,7 +71,7 @@
{outputs stack^})
(let [de-alias (function (_ aliased)
(list/fold (function (_ [from to] pre)
- (code.replace (code.local-symbol from) to pre))
+ (code.replace (code.local-identifier from) to pre))
aliased
aliases))]
(case [(|> inputs (get@ #bottom) (maybe/map (|>> code.nat (~) #.Parameter (`))))
@@ -120,11 +120,11 @@
(syntax: #export (word:
{export csr.export}
- {name s.local-symbol}
+ {name s.local-identifier}
{annotations (p.default cs.empty-annotations csr.annotations)}
type
{commands (p.some s.any)})
- (wrap (list (` (def: (~+ (csw.export export)) (~ (code.local-symbol name))
+ (wrap (list (` (def: (~+ (csw.export export)) (~ (code.local-identifier name))
(~ (csw.annotations annotations))
(~ type)
(|>> (~+ (list/map prepare commands))))))))
diff --git a/stdlib/source/lux/control/exception.lux b/stdlib/source/lux/control/exception.lux
index f2635b6b2..86c2a8ddb 100644
--- a/stdlib/source/lux/control/exception.lux
+++ b/stdlib/source/lux/control/exception.lux
@@ -84,8 +84,8 @@
(syntax: #export (exception: {export csr.export}
{t-vars (p.default (list) csr.type-variables)}
- {[name inputs] (p.either (p.seq s.local-symbol (wrap (list)))
- (s.form (p.seq s.local-symbol (p.some csr.typed-input))))}
+ {[name inputs] (p.either (p.seq s.local-identifier (wrap (list)))
+ (s.form (p.seq s.local-identifier (p.some csr.typed-input))))}
{body (p.maybe s.any)})
{#.doc (doc "Define a new exception type."
"It moslty just serves as a way to tag error messages for later catching."
@@ -100,7 +100,7 @@
(do @
[current-module macro.current-module-name
#let [descriptor ($_ text/compose "{" current-module "." name "}" "\n")
- g!self (code.local-symbol name)]]
+ g!self (code.local-identifier name)]]
(wrap (list (` (def: (~+ (csw.export export))
(~ g!self)
(All [(~+ (csw.type-variables t-vars))]
diff --git a/stdlib/source/lux/control/monad.lux b/stdlib/source/lux/control/monad.lux
index c98851c95..09dd14237 100644
--- a/stdlib/source/lux/control/monad.lux
+++ b/stdlib/source/lux/control/monad.lux
@@ -64,9 +64,9 @@
(case tokens
(#.Cons monad (#.Cons [_ (#.Tuple bindings)] (#.Cons body #.Nil)))
(if (|> bindings list/size (n/% +2) (n/= +0))
- (let [g!_ (: Code [_cursor (#.Symbol ["" " _ "])])
- g!map (: Code [_cursor (#.Symbol ["" " map "])])
- g!join (: Code [_cursor (#.Symbol ["" " join "])])
+ (let [g!_ (: Code [_cursor (#.Identifier ["" " _ "])])
+ g!map (: Code [_cursor (#.Identifier ["" " map "])])
+ g!join (: Code [_cursor (#.Identifier ["" " join "])])
body' (list/fold (: (-> [Code Code] Code Code)
(function (_ binding body')
(let [[var value] binding]
diff --git a/stdlib/source/lux/data/collection/list.lux b/stdlib/source/lux/data/collection/list.lux
index 671fbfe42..2d74aad79 100644
--- a/stdlib/source/lux/data/collection/list.lux
+++ b/stdlib/source/lux/data/collection/list.lux
@@ -282,7 +282,7 @@
)))
(structure: #export Monoid<List> (All [a]
- (Monoid (List a)))
+ (Monoid (List a)))
(def: identity #.Nil)
(def: (compose xs ys)
(case xs
@@ -380,9 +380,9 @@
)
## [Syntax]
-(def: (symbol$ name)
+(def: (identifier$ name)
(-> Text Code)
- [["" +0 +0] (#.Symbol "" name)])
+ [["" +0 +0] (#.Identifier "" name)])
(def: (nat/encode value)
(-> Nat Text)
@@ -416,7 +416,7 @@
(if (n/> +0 num-lists)
(let [(^open ".") Functor<List>
indices (n/range +0 (dec num-lists))
- type-vars (: (List Code) (map (|>> nat/encode symbol$) indices))
+ type-vars (: (List Code) (map (|>> nat/encode identifier$) indices))
zip-type (` (All [(~+ type-vars)]
(-> (~+ (map (: (-> Code Code) (function (_ var) (` (List (~ var)))))
type-vars))
@@ -425,12 +425,12 @@
(map inc)
(map (function (_ idx)
(let [base (nat/encode idx)]
- [(symbol$ base)
- (symbol$ ("lux text concat" base "'"))]))))
+ [(identifier$ base)
+ (identifier$ ("lux text concat" base "'"))]))))
pattern (` [(~+ (map (function (_ [v vs]) (` (#.Cons (~ v) (~ vs))))
vars+lists))])
- g!step (symbol$ "\tstep\t")
- g!blank (symbol$ "\t_\t")
+ g!step (identifier$ "\tstep\t")
+ g!blank (identifier$ "\t_\t")
list-vars (map product.right vars+lists)
code (` (: (~ zip-type)
(function ((~ g!step) (~+ list-vars))
@@ -460,9 +460,9 @@
(if (n/> +0 num-lists)
(let [(^open ".") Functor<List>
indices (n/range +0 (dec num-lists))
- g!return-type (symbol$ "\treturn-type\t")
- g!func (symbol$ "\tfunc\t")
- type-vars (: (List Code) (map (|>> nat/encode symbol$) indices))
+ g!return-type (identifier$ "\treturn-type\t")
+ g!func (identifier$ "\tfunc\t")
+ type-vars (: (List Code) (map (|>> nat/encode identifier$) indices))
zip-type (` (All [(~+ type-vars) (~ g!return-type)]
(-> (-> (~+ type-vars) (~ g!return-type))
(~+ (map (: (-> Code Code) (function (_ var) (` (List (~ var)))))
@@ -472,12 +472,12 @@
(map inc)
(map (function (_ idx)
(let [base (nat/encode idx)]
- [(symbol$ base)
- (symbol$ ("lux text concat" base "'"))]))))
+ [(identifier$ base)
+ (identifier$ ("lux text concat" base "'"))]))))
pattern (` [(~+ (map (function (_ [v vs]) (` (#.Cons (~ v) (~ vs))))
vars+lists))])
- g!step (symbol$ "\tstep\t")
- g!blank (symbol$ "\t_\t")
+ g!step (identifier$ "\tstep\t")
+ g!blank (identifier$ "\t_\t")
list-vars (map product.right vars+lists)
code (` (: (~ zip-type)
(function ((~ g!step) (~ g!func) (~+ list-vars))
diff --git a/stdlib/source/lux/data/error.lux b/stdlib/source/lux/data/error.lux
index 0baeecc73..8054736e9 100644
--- a/stdlib/source/lux/data/error.lux
+++ b/stdlib/source/lux/data/error.lux
@@ -96,7 +96,7 @@
(#..Success (~' g!temp))
(~' g!temp)
- (#..Error (~ [dummy-cursor (#.Symbol ["" ""])]))
+ (#..Error (~ [dummy-cursor (#.Identifier ["" ""])]))
(~ else))))])
_
diff --git a/stdlib/source/lux/data/format/binary.lux b/stdlib/source/lux/data/format/binary.lux
index add376a44..4ea21c30c 100644
--- a/stdlib/source/lux/data/format/binary.lux
+++ b/stdlib/source/lux/data/format/binary.lux
@@ -277,7 +277,7 @@
..frac
## #Text
..text
- ## #Symbol
+ ## #Identifier
..name
## #Tag
..name
diff --git a/stdlib/source/lux/data/maybe.lux b/stdlib/source/lux/data/maybe.lux
index 42e95d5f6..d6b44e02d 100644
--- a/stdlib/source/lux/data/maybe.lux
+++ b/stdlib/source/lux/data/maybe.lux
@@ -89,7 +89,7 @@
(default 20 #.None) => 20"}
(case tokens
(^ (list else maybe))
- (let [g!temp (: Code [dummy-cursor (#.Symbol ["" ""])])
+ (let [g!temp (: Code [dummy-cursor (#.Identifier ["" ""])])
code (` (case (~ maybe)
(#.Some (~ g!temp))
(~ g!temp)
diff --git a/stdlib/source/lux/data/text/regex.lux b/stdlib/source/lux/data/text/regex.lux
index 158eea153..b009d9dea 100644
--- a/stdlib/source/lux/data/text/regex.lux
+++ b/stdlib/source/lux/data/text/regex.lux
@@ -76,7 +76,7 @@
(-> Text (l.Lexer Code))
(do p.Monad<Parser>
[name (l.enclosed ["\\@<" ">"] (name^ current-module))]
- (wrap (` (: (l.Lexer Text) (~ (code.symbol name)))))))
+ (wrap (` (: (l.Lexer Text) (~ (code.identifier name)))))))
(def: re-range^
(l.Lexer Code)
@@ -191,12 +191,12 @@
(p.either (do p.Monad<Parser>
[_ (l.this "\\")
id number^]
- (wrap (` ((~! ..copy) (~ (code.symbol ["" (int/encode (.int id))]))))))
+ (wrap (` ((~! ..copy) (~ (code.identifier ["" (int/encode (.int id))]))))))
(do p.Monad<Parser>
[_ (l.this "\\k<")
captured-name name-part^
_ (l.this ">")]
- (wrap (` ((~! ..copy) (~ (code.symbol ["" captured-name]))))))))
+ (wrap (` ((~! ..copy) (~ (code.identifier ["" captured-name]))))))))
(def: (re-simple^ current-module)
(-> Text (l.Lexer Code))
@@ -268,8 +268,8 @@
(do p.Monad<Parser>
[parts (p.many (p.alt (re-complex^ current-module)
(re-scoped^ current-module)))
- #let [g!total (code.symbol ["" "0total"])
- g!temp (code.symbol ["" "0temp"])
+ #let [g!total (code.identifier ["" "0total"])
+ g!temp (code.identifier ["" "0temp"])
[_ names steps] (list/fold (: (-> (Either Code [Re-Group Code])
[Int (List Code) (List (List Code))]
[Int (List Code) (List (List Code))])
@@ -285,10 +285,10 @@
(#.Right [(#Capturing [?name num-captures]) scoped])
(let [[idx! name!] (case ?name
(#.Some _name)
- [idx (code.symbol ["" _name])]
+ [idx (code.identifier ["" _name])]
#.None
- [(inc idx) (code.symbol ["" (int/encode idx)])])
+ [(inc idx) (code.identifier ["" (int/encode idx)])])
access (if (n/> +0 num-captures)
(` ((~! product.left) (~ name!)))
name!)]
@@ -360,7 +360,7 @@
[#let [sub^ (re-sequential^ capturing? re-scoped^ current-module)]
head sub^
tail (p.some (p.after (l.this "|") sub^))
- #let [g!op (code.symbol ["" " alt "])]]
+ #let [g!op (code.identifier ["" " alt "])]]
(if (list.empty? tail)
(wrap head)
(wrap [(list/fold n/max (product.left head) (list/map product.left tail))
diff --git a/stdlib/source/lux/host.jvm.lux b/stdlib/source/lux/host.jvm.lux
index 7b02f3df6..1c314ba0f 100644
--- a/stdlib/source/lux/host.jvm.lux
+++ b/stdlib/source/lux/host.jvm.lux
@@ -304,7 +304,7 @@
(not (list.empty? pbounds))))
type-params)
#.None
- (code.symbol ["" name])
+ (code.identifier ["" name])
(#.Some [pname pbounds])
(class->type' mode type-params in-array? (maybe.assume (list.head pbounds))))
@@ -330,7 +330,7 @@
(def: (type-param-type$ [name bounds])
(-> Type-Paramameter Code)
- (code.symbol ["" name]))
+ (code.identifier ["" name]))
(def: (class-decl-type$ (^slots [#class-name #class-params]))
(-> Class-Declaration Code)
@@ -338,7 +338,7 @@
(function (_ [pname pbounds])
(case pbounds
#.Nil
- (code.symbol ["" pname])
+ (code.identifier ["" pname])
(#.Cons bound1 _)
(class->type #ManualPrM class-params bound1))))
@@ -519,14 +519,14 @@
(-> Text Text (Syntax Code))
(do p.Monad<Parser>
[#let [dotted-name (format "::" field-name)]
- _ (s.this (code.symbol ["" dotted-name]))]
+ _ (s.this (code.identifier ["" dotted-name]))]
(wrap (`' ((~ (code.text (format "jvm getstatic" ":" class-name ":" field-name))))))))
(def: (make-get-var-parser class-name field-name)
(-> Text Text (Syntax Code))
(do p.Monad<Parser>
[#let [dotted-name (format "::" field-name)]
- _ (s.this (code.symbol ["" dotted-name]))]
+ _ (s.this (code.identifier ["" dotted-name]))]
(wrap (`' ((~ (code.text (format "jvm getfield" ":" class-name ":" field-name))) _jvm_this)))))
(def: (make-put-var-parser class-name field-name)
@@ -534,7 +534,7 @@
(do p.Monad<Parser>
[#let [dotted-name (format "::" field-name)]
[_ _ value] (: (Syntax [Any Any Code])
- (s.form ($_ p.seq (s.this (' :=)) (s.this (code.symbol ["" dotted-name])) s.any)))]
+ (s.form ($_ p.seq (s.this (' :=)) (s.this (code.identifier ["" dotted-name])) s.any)))]
(wrap (`' ((~ (code.text (format "jvm putfield" ":" class-name ":" field-name))) _jvm_this (~ value))))))
(def: (pre-walk-replace f input)
@@ -590,7 +590,7 @@
(do p.Monad<Parser>
[#let [dotted-name (format "::" method-name "!")]
args (: (Syntax (List Code))
- (s.form (p.after (s.this (code.symbol ["" dotted-name]))
+ (s.form (p.after (s.this (code.identifier ["" dotted-name]))
(s.tuple (p.exactly (list.size arg-decls) s.any)))))
#let [arg-decls' (: (List Text) (list/map (|>> product.right (simple-class$ params)) arg-decls))]]
(wrap (`' ((~ (code.text (format "jvm invokestatic" ":" class-name ":" method-name ":" (text.join-with "," arg-decls'))))
@@ -602,7 +602,7 @@
(do p.Monad<Parser>
[#let [dotted-name (format "::" method-name "!")]
args (: (Syntax (List Code))
- (s.form (p.after (s.this (code.symbol ["" dotted-name]))
+ (s.form (p.after (s.this (code.identifier ["" dotted-name]))
(s.tuple (p.exactly (list.size arg-decls) s.any)))))
#let [arg-decls' (: (List Text) (list/map (|>> product.right (simple-class$ params)) arg-decls))]]
(wrap (`' ((~ (code.text (format <jvm-op> ":" class-name ":" method-name ":" (text.join-with "," arg-decls'))))
@@ -634,7 +634,7 @@
(def: (full-class-name^ imports)
(-> Class-Imports (Syntax Text))
(do p.Monad<Parser>
- [name s.local-symbol]
+ [name s.local-identifier]
(wrap (qualify imports name))))
(def: privacy-modifier^
@@ -711,10 +711,10 @@
(def: (type-param^ imports)
(-> Class-Imports (Syntax Type-Paramameter))
(p.either (do p.Monad<Parser>
- [param-name s.local-symbol]
+ [param-name s.local-identifier]
(wrap [param-name (list)]))
(s.tuple (do p.Monad<Parser>
- [param-name s.local-symbol
+ [param-name s.local-identifier
_ (s.this (' <))
bounds (p.many (generic-type^ imports (list)))]
(wrap [param-name bounds])))))
@@ -788,7 +788,7 @@
(-> Class-Imports (List Type-Paramameter) (Syntax [Member-Declaration MethodDecl]))
(s.form (do p.Monad<Parser>
[tvars (p.default (list) (type-params^ imports))
- name s.local-symbol
+ name s.local-identifier
anns (annotations^ imports)
inputs (s.tuple (p.some (generic-type^ imports type-vars)))
output (generic-type^ imports type-vars)
@@ -809,7 +809,7 @@
(-> Class-Imports (List Type-Paramameter) (Syntax [Member-Declaration FieldDecl]))
(p.either (s.form (do p.Monad<Parser>
[_ (s.this (' #const))
- name s.local-symbol
+ name s.local-identifier
anns (annotations^ imports)
type (generic-type^ imports type-vars)
body s.any]
@@ -817,14 +817,14 @@
(s.form (do p.Monad<Parser>
[pm privacy-modifier^
sm state-modifier^
- name s.local-symbol
+ name s.local-identifier
anns (annotations^ imports)
type (generic-type^ imports type-vars)]
(wrap [[name pm anns] (#VariableField [sm type])])))))
(def: (arg-decl^ imports type-vars)
(-> Class-Imports (List Type-Paramameter) (Syntax ArgDecl))
- (s.tuple (p.seq s.local-symbol
+ (s.tuple (p.seq s.local-identifier
(generic-type^ imports type-vars))))
(def: (arg-decls^ imports type-vars)
@@ -865,7 +865,7 @@
final? (s.this? (' #final))
method-vars (p.default (list) (type-params^ imports))
#let [total-vars (list/compose class-vars method-vars)]
- [name arg-decls] (s.form (p.seq s.local-symbol
+ [name arg-decls] (s.form (p.seq s.local-identifier
(arg-decls^ imports total-vars)))
return-type (generic-type^ imports total-vars)
exs (throws-decl^ imports total-vars)
@@ -883,7 +883,7 @@
owner-class (class-decl^ imports)
method-vars (p.default (list) (type-params^ imports))
#let [total-vars (list/compose (product.right owner-class) method-vars)]
- [name arg-decls] (s.form (p.seq s.local-symbol
+ [name arg-decls] (s.form (p.seq s.local-identifier
(arg-decls^ imports total-vars)))
return-type (generic-type^ imports total-vars)
exs (throws-decl^ imports total-vars)
@@ -902,7 +902,7 @@
_ (s.this (' #static))
method-vars (p.default (list) (type-params^ imports))
#let [total-vars method-vars]
- [name arg-decls] (s.form (p.seq s.local-symbol
+ [name arg-decls] (s.form (p.seq s.local-identifier
(arg-decls^ imports total-vars)))
return-type (generic-type^ imports total-vars)
exs (throws-decl^ imports total-vars)
@@ -920,7 +920,7 @@
_ (s.this (' #abstract))
method-vars (p.default (list) (type-params^ imports))
#let [total-vars method-vars]
- [name arg-decls] (s.form (p.seq s.local-symbol
+ [name arg-decls] (s.form (p.seq s.local-identifier
(arg-decls^ imports total-vars)))
return-type (generic-type^ imports total-vars)
exs (throws-decl^ imports total-vars)
@@ -937,7 +937,7 @@
_ (s.this (' #native))
method-vars (p.default (list) (type-params^ imports))
#let [total-vars method-vars]
- [name arg-decls] (s.form (p.seq s.local-symbol
+ [name arg-decls] (s.form (p.seq s.local-identifier
(arg-decls^ imports total-vars)))
return-type (generic-type^ imports total-vars)
exs (throws-decl^ imports total-vars)
@@ -975,7 +975,7 @@
(Syntax (Maybe Text))
(p.maybe (do p.Monad<Parser>
[_ (s.this (' #as))]
- s.local-symbol)))
+ s.local-identifier)))
(def: (import-member-args^ imports type-vars)
(-> Class-Imports (List Type-Paramameter) (Syntax (List [Bit GenericType])))
@@ -995,7 +995,7 @@
($_ p.either
(s.form (do p.Monad<Parser>
[_ (s.this (' #enum))
- enum-members (p.some s.local-symbol)]
+ enum-members (p.some s.local-identifier)]
(wrap (#EnumDecl enum-members))))
(s.form (do p.Monad<Parser>
[tvars (p.default (list) (type-params^ imports))
@@ -1020,7 +1020,7 @@
(p.alt (s.this (' #static))
(wrap [])))
tvars (p.default (list) (type-params^ imports))
- name s.local-symbol
+ name s.local-identifier
?alias import-member-alias^
#let [total-vars (list/compose owner-vars tvars)]
?prim-mode (p.maybe primitive-mode^)
@@ -1040,7 +1040,7 @@
}]))))
(s.form (do p.Monad<Parser>
[static? (s.this? (' #static))
- name s.local-symbol
+ name s.local-identifier
?prim-mode (p.maybe primitive-mode^)
gtype (generic-type^ imports owner-vars)
maybe? (s.this? (' #?))
@@ -1485,8 +1485,8 @@
(let [def-name (if long-name?
full-name
(short-class-name full-name))
- params' (list/map (|>> product.left code.local-symbol) params)]
- (` (def: (~ (code.symbol ["" def-name]))
+ params' (list/map (|>> product.left code.local-identifier) params)]
+ (` (def: (~ (code.identifier ["" def-name]))
{#.type? #1
#..jvm-class (~ (code.text full-name))}
Type
@@ -1562,7 +1562,7 @@
[(` (Maybe (~ return-type)))
(` (??? (~ return-term)))]
[return-type
- (let [g!temp (code.symbol ["" " Ω "])]
+ (let [g!temp (code.identifier ["" " Ω "])]
(` (let [(~ g!temp) (~ return-term)]
(if (not (null? (:coerce (primitive "java.lang.Object")
(~ g!temp))))
@@ -1596,7 +1596,7 @@
(def: (type-param->type-arg [name _])
(-> Type-Paramameter Code)
- (code.symbol ["" name]))
+ (code.identifier ["" name]))
(def: (with-mode-output mode output-type body)
(-> Primitive-Mode GenericType Code Code)
@@ -1701,7 +1701,7 @@
(` (All [(~+ =class-tvars)] (primitive (~ (code.text full-name)) [(~+ =class-tvars)]))))))
getter-interop (: (-> Text Code)
(function (_ name)
- (let [getter-name (code.symbol ["" (format method-prefix member-separator name)])]
+ (let [getter-name (code.identifier ["" (format method-prefix member-separator name)])]
(` (def: (~ getter-name)
(~ enum-type)
((~ (code.text (format "jvm getstatic" ":" full-name ":" name)))))))))]]
@@ -1710,7 +1710,7 @@
(#ConstructorDecl [commons _])
(do Monad<Meta>
[return-type (member-def-return (get@ #import-member-mode commons) type-params class member)
- #let [def-name (code.symbol ["" (format method-prefix member-separator (get@ #import-member-alias commons))])
+ #let [def-name (code.identifier ["" (format method-prefix member-separator (get@ #import-member-alias commons))])
def-params (list (code.tuple arg-function-inputs))
jvm-interop (|> (` ((~ (code.text (format "jvm new" ":" full-name ":" (text.join-with "," arg-classes))))
(~+ arg-method-inputs)))
@@ -1728,7 +1728,7 @@
(with-gensyms [g!obj]
(do @
[return-type (member-def-return (get@ #import-member-mode commons) type-params class member)
- #let [def-name (code.symbol ["" (format method-prefix member-separator (get@ #import-member-alias commons))])
+ #let [def-name (code.identifier ["" (format method-prefix member-separator (get@ #import-member-alias commons))])
(^slots [#import-member-kind]) commons
(^slots [#import-method-name]) method
[jvm-op obj-ast class-ast] (: [Text (List Code) (List Code)]
@@ -1779,8 +1779,8 @@
(|> class-tvars
(list.filter free-type-param?)
(list/map type-param->type-arg)))
- getter-name (code.symbol ["" (format method-prefix member-separator import-field-name)])
- setter-name (code.symbol ["" (format method-prefix member-separator import-field-name "!")])]
+ getter-name (code.identifier ["" (format method-prefix member-separator import-field-name)])
+ setter-name (code.identifier ["" (format method-prefix member-separator import-field-name "!")])]
getter-interop (with-gensyms [g!obj]
(let [getter-call (if import-field-static?
getter-name
@@ -1969,7 +1969,7 @@
{#.doc (doc "Loads an element from an array."
(array-read +10 my-array))}
(case array
- [_ (#.Symbol array-name)]
+ [_ (#.Identifier array-name)]
(do Monad<Meta>
[array-type (macro.find-type array-name)
array-jvm-type (type->class-name array-type)]
@@ -1998,7 +1998,7 @@
{#.doc (doc "Stores an element into an array."
(array-write +10 my-object my-array))}
(case array
- [_ (#.Symbol array-name)]
+ [_ (#.Identifier array-name)]
(do Monad<Meta>
[array-type (macro.find-type array-name)
array-jvm-type (type->class-name array-type)]
@@ -2025,7 +2025,7 @@
(def: simple-bindings^
(Syntax (List [Text Code]))
- (s.tuple (p.some (p.seq s.local-symbol s.any))))
+ (s.tuple (p.some (p.seq s.local-identifier s.any))))
(syntax: #export (with-open
{bindings simple-bindings^}
@@ -2040,10 +2040,10 @@
(do-one-last-thing foo bar))))}
(with-gensyms [g!output g!_]
(let [inits (list/join (list/map (function (_ [res-name res-ctor])
- (list (code.symbol ["" res-name]) res-ctor))
+ (list (code.identifier ["" res-name]) res-ctor))
bindings))
closes (list/map (function (_ res)
- (` (try ("jvm invokevirtual:java.io.Closeable:close:" (~ (code.symbol ["" (product.left res)]))))))
+ (` (try ("jvm invokevirtual:java.io.Closeable:close:" (~ (code.identifier ["" (product.left res)]))))))
bindings)]
(wrap (list (` (do (~! io.Monad<IO>)
[(~+ inits)
diff --git a/stdlib/source/lux/io.lux b/stdlib/source/lux/io.lux
index 5ccd6788d..f772f60fa 100644
--- a/stdlib/source/lux/io.lux
+++ b/stdlib/source/lux/io.lux
@@ -21,7 +21,7 @@
"Some value...")))}
(case tokens
(^ (list value))
- (let [blank (: Code [["" +0 +0] (#.Symbol ["" ""])])]
+ (let [blank (: Code [["" +0 +0] (#.Identifier ["" ""])])]
(#.Right [state (list (` ([(~ blank) (~ blank)] (~ value))))]))
_
diff --git a/stdlib/source/lux/macro.lux b/stdlib/source/lux/macro.lux
index f6dc72204..1909aeca6 100644
--- a/stdlib/source/lux/macro.lux
+++ b/stdlib/source/lux/macro.lux
@@ -173,15 +173,15 @@
_
#.None))]
- [get-bit-ann #.Bit Bit]
- [get-int-ann #.Int Int]
- [get-frac-ann #.Frac Frac]
- [get-text-ann #.Text Text]
- [get-symbol-ann #.Symbol Name]
- [get-tag-ann #.Tag Name]
- [get-form-ann #.Form (List Code)]
- [get-tuple-ann #.Tuple (List Code)]
- [get-record-ann #.Record (List [Code Code])]
+ [get-bit-ann #.Bit Bit]
+ [get-int-ann #.Int Int]
+ [get-frac-ann #.Frac Frac]
+ [get-text-ann #.Text Text]
+ [get-identifier-ann #.Identifier Name]
+ [get-tag-ann #.Tag Name]
+ [get-form-ann #.Form (List Code)]
+ [get-tuple-ann #.Tuple (List Code)]
+ [get-record-ann #.Record (List [Code Code])]
)
(def: #export (get-doc anns)
@@ -210,7 +210,7 @@
(def: #export (aliased? annotations)
(-> Code Bit)
- (case (get-symbol-ann (name-for #.alias) annotations)
+ (case (get-identifier-ann (name-for #.alias) annotations)
(#.Some _)
#1
@@ -255,7 +255,7 @@
(if (and (macro? def-anns)
(or (export? def-anns) (text/= module this-module)))
(#.Some (:coerce Macro def-value))
- (case (get-symbol-ann (name-for #.alias) def-anns)
+ (case (get-identifier-ann (name-for #.alias) def-anns)
(#.Some [r-module r-name])
(find-macro' modules this-module r-module r-name)
@@ -291,7 +291,7 @@
Otherwise, returns the code as-is."}
(-> Code (Meta (List Code)))
(case syntax
- [_ (#.Form (#.Cons [[_ (#.Symbol name)] args]))]
+ [_ (#.Form (#.Cons [[_ (#.Identifier name)] args]))]
(do Monad<Meta>
[?macro (find-macro name)]
(case ?macro
@@ -310,7 +310,7 @@
Otherwise, returns the code as-is."}
(-> Code (Meta (List Code)))
(case syntax
- [_ (#.Form (#.Cons [[_ (#.Symbol name)] args]))]
+ [_ (#.Form (#.Cons [[_ (#.Identifier name)] args]))]
(do Monad<Meta>
[?macro (find-macro name)]
(case ?macro
@@ -330,7 +330,7 @@
{#.doc "Expands all macro-calls everywhere recursively, until only primitive/base code remains."}
(-> Code (Meta (List Code)))
(case syntax
- [_ (#.Form (#.Cons [[_ (#.Symbol name)] args]))]
+ [_ (#.Form (#.Cons [[_ (#.Identifier name)] args]))]
(do Monad<Meta>
[?macro (find-macro name)]
(case ?macro
@@ -342,7 +342,7 @@
#.None
(do Monad<Meta>
- [parts' (monad.map Monad<Meta> expand-all (list& (code.symbol name) args))]
+ [parts' (monad.map Monad<Meta> expand-all (list& (code.identifier name) args))]
(wrap (list (code.form (list/join parts')))))))
[_ (#.Form (#.Cons [harg targs]))]
@@ -370,19 +370,19 @@
(get@ #.seed)
(:: number.Codec<Text,Nat> encode)
($_ text/compose "__gensym__" prefix)
- [""] code.symbol)])))
+ [""] code.identifier)])))
-(def: (get-local-symbol ast)
+(def: (get-local-identifier ast)
(-> Code (Meta Text))
(case ast
- [_ (#.Symbol [_ name])]
+ [_ (#.Identifier [_ name])]
(:: Monad<Meta> wrap name)
_
- (fail (text/compose "Code is not a local symbol: " (code.to-text ast)))))
+ (fail (text/compose "Code is not a local identifier: " (code.to-text ast)))))
(macro: #export (with-gensyms tokens)
- {#.doc (doc "Creates new symbols and offers them to the body expression."
+ {#.doc (doc "Creates new identifiers and offers them to the body expression."
(syntax: #export (synchronized lock body)
(with-gensyms [g!lock g!body g!_]
(wrap (list (` (let [(~ g!lock) (~ lock)
@@ -392,14 +392,14 @@
(~ g!body)))))
)))}
(case tokens
- (^ (list [_ (#.Tuple symbols)] body))
+ (^ (list [_ (#.Tuple identifiers)] body))
(do Monad<Meta>
- [symbol-names (monad.map @ get-local-symbol symbols)
- #let [symbol-defs (list/join (list/map (: (-> Text (List Code))
- (function (_ name) (list (code.symbol ["" name]) (` (gensym (~ (code.text name)))))))
- symbol-names))]]
+ [identifier-names (monad.map @ get-local-identifier identifiers)
+ #let [identifier-defs (list/join (list/map (: (-> Text (List Code))
+ (function (_ name) (list (code.identifier ["" name]) (` (gensym (~ (code.text name)))))))
+ identifier-names))]]
(wrap (list (` ((~! do) (~! Monad<Meta>)
- [(~+ symbol-defs)]
+ [(~+ identifier-defs)]
(~ body))))))
_
@@ -671,7 +671,7 @@
(-> Name (Meta Name))
(do Monad<Meta>
[[_ def-anns _] (find-def def-name)]
- (case (get-symbol-ann (name-for #.alias) def-anns)
+ (case (get-identifier-ann (name-for #.alias) def-anns)
(#.Some real-def-name)
(wrap real-def-name)
diff --git a/stdlib/source/lux/macro/code.lux b/stdlib/source/lux/macro/code.lux
index b48406f13..f6896343c 100644
--- a/stdlib/source/lux/macro/code.lux
+++ b/stdlib/source/lux/macro/code.lux
@@ -17,8 +17,8 @@
## (#.Int Int)
## (#.Frac Frac)
## (#.Text Text)
-## (#.Symbol Text Text)
-## (#.Tag Text Text)
+## (#.Identifier Name)
+## (#.Tag Name)
## (#.Form (List (w (Code' w))))
## (#.Tuple (List (w (Code' w))))
## (#.Record (List [(w (Code' w)) (w (Code' w))])))
@@ -35,17 +35,17 @@
(-> <type> Code)
[_cursor (<tag> x)])]
- [bit Bit #.Bit]
- [nat Nat #.Nat]
- [int Int #.Int]
- [rev Rev #.Rev]
- [frac Frac #.Frac]
- [text Text #.Text]
- [symbol Name #.Symbol]
- [tag Name #.Tag]
- [form (List Code) #.Form]
- [tuple (List Code) #.Tuple]
- [record (List [Code Code]) #.Record]
+ [bit Bit #.Bit]
+ [nat Nat #.Nat]
+ [int Int #.Int]
+ [rev Rev #.Rev]
+ [frac Frac #.Frac]
+ [text Text #.Text]
+ [identifier Name #.Identifier]
+ [tag Name #.Tag]
+ [form (List Code) #.Form]
+ [tuple (List Code) #.Tuple]
+ [record (List [Code Code]) #.Record]
)
(do-template [<name> <tag> <doc>]
@@ -54,8 +54,8 @@
(-> Text Code)
[_cursor (<tag> ["" name])])]
- [local-symbol #.Symbol "Produces a local symbol (a symbol with no module prefix)."]
- [local-tag #.Tag "Produces a local tag (a tag with no module prefix)."])
+ [local-identifier #.Identifier "Produces a local identifier (an identifier with no module prefix)."]
+ [local-tag #.Tag "Produces a local tag (a tag with no module prefix)."])
## [Structures]
(structure: #export _ (Equivalence Code)
@@ -64,14 +64,14 @@
(^template [<tag> <eq>]
[[_ (<tag> x')] [_ (<tag> y')]]
(:: <eq> = x' y'))
- ([#.Bit Equivalence<Bit>]
- [#.Nat Equivalence<Nat>]
- [#.Int Equivalence<Int>]
- [#.Rev Equivalence<Rev>]
- [#.Frac Equivalence<Frac>]
- [#.Text Equivalence<Text>]
- [#.Symbol Equivalence<Name>]
- [#.Tag Equivalence<Name>])
+ ([#.Bit Equivalence<Bit>]
+ [#.Nat Equivalence<Nat>]
+ [#.Int Equivalence<Int>]
+ [#.Rev Equivalence<Rev>]
+ [#.Frac Equivalence<Frac>]
+ [#.Text Equivalence<Text>]
+ [#.Identifier Equivalence<Name>]
+ [#.Tag Equivalence<Name>])
(^template [<tag>]
[[_ (<tag> xs')] [_ (<tag> ys')]]
@@ -93,12 +93,12 @@
(^template [<tag> <struct>]
[_ (<tag> value)]
(:: <struct> encode value))
- ([#.Bit Codec<Text,Bit>]
- [#.Nat Codec<Text,Nat>]
- [#.Int Codec<Text,Int>]
- [#.Rev Codec<Text,Rev>]
- [#.Frac Codec<Text,Frac>]
- [#.Symbol Codec<Text,Name>])
+ ([#.Bit Codec<Text,Bit>]
+ [#.Nat Codec<Text,Nat>]
+ [#.Int Codec<Text,Int>]
+ [#.Rev Codec<Text,Rev>]
+ [#.Frac Codec<Text,Frac>]
+ [#.Identifier Codec<Text,Name>])
[_ (#.Text value)]
(text.encode value)
diff --git a/stdlib/source/lux/macro/poly.lux b/stdlib/source/lux/macro/poly.lux
index 1dffc77ea..7cfa74fce 100644
--- a/stdlib/source/lux/macro/poly.lux
+++ b/stdlib/source/lux/macro/poly.lux
@@ -131,7 +131,7 @@
(def: (label idx)
(-> Nat Code)
- (code.local-symbol (text/compose "label\u0000" (nat/encode idx))))
+ (code.local-identifier (text/compose "label\u0000" (nat/encode idx))))
(def: #export (with-extension type poly)
(All [a] (-> Type (Poly a) (Poly [Code a])))
@@ -353,11 +353,11 @@
## [Syntax]
(syntax: #export (poly: {export csr.export}
- {name s.local-symbol}
+ {name s.local-identifier}
body)
(with-gensyms [g!_ g!type g!output]
- (let [g!name (code.symbol ["" name])]
- (wrap (.list (` (syntax: (~+ (csw.export export)) ((~ g!name) {(~ g!type) s.symbol})
+ (let [g!name (code.identifier ["" name])]
+ (wrap (.list (` (syntax: (~+ (csw.export export)) ((~ g!name) {(~ g!type) s.identifier})
(do macro.Monad<Meta>
[(~ g!type) (macro.find-type-def (~ g!type))]
(case (|> (~ body)
@@ -383,8 +383,8 @@
#.None))
(syntax: #export (derived: {export csr.export}
- {?name (p.maybe s.local-symbol)}
- {[poly-func poly-args] (s.form (p.seq s.symbol (p.many s.symbol)))}
+ {?name (p.maybe s.local-identifier)}
+ {[poly-func poly-args] (s.form (p.seq s.identifier (p.many s.identifier)))}
{?custom-impl (p.maybe s.any)})
(do @
[poly-args (monad.map @ macro.normalize poly-args)
@@ -404,9 +404,9 @@
custom-impl
#.None
- (` ((~ (code.symbol poly-func)) (~+ (list/map code.symbol poly-args)))))]]
+ (` ((~ (code.identifier poly-func)) (~+ (list/map code.identifier poly-args)))))]]
(wrap (.list (` (def: (~+ (csw.export export))
- (~ (code.symbol ["" name]))
+ (~ (code.identifier ["" name]))
{#.struct? #1}
(~ impl)))))))
@@ -448,7 +448,7 @@
[#.Product & type.flatten-tuple])
(#.Named name sub-type)
- (code.symbol name)
+ (code.identifier name)
(^template [<tag>]
(<tag> scope body)
diff --git a/stdlib/source/lux/macro/poly/equivalence.lux b/stdlib/source/lux/macro/poly/equivalence.lux
index 8c2f8dd21..80606aeb2 100644
--- a/stdlib/source/lux/macro/poly/equivalence.lux
+++ b/stdlib/source/lux/macro/poly/equivalence.lux
@@ -35,7 +35,7 @@
## [Derivers]
(poly: #export Equivalence<?>
(`` (do @
- [#let [g!_ (code.local-symbol "_____________")]
+ [#let [g!_ (code.local-identifier "_____________")]
*env* poly.env
inputT poly.peek
#let [@Equivalence (: (-> Type Code)
@@ -99,9 +99,9 @@
## Variants
(do @
[members (poly.variant (p.many Equivalence<?>))
- #let [g!_ (code.local-symbol "_____________")
- g!left (code.local-symbol "_____________left")
- g!right (code.local-symbol "_____________right")]]
+ #let [g!_ (code.local-identifier "_____________")
+ g!left (code.local-identifier "_____________left")
+ g!right (code.local-identifier "_____________right")]]
(wrap (` (: (~ (@Equivalence inputT))
(function ((~ g!_) (~ g!left) (~ g!right))
(case [(~ g!left) (~ g!right)]
@@ -115,10 +115,10 @@
## Tuples
(do @
[g!eqs (poly.tuple (p.many Equivalence<?>))
- #let [g!_ (code.local-symbol "_____________")
+ #let [g!_ (code.local-identifier "_____________")
indices (|> (list.size g!eqs) dec (list.n/range +0))
- g!lefts (list/map (|>> nat/encode (text/compose "left") code.local-symbol) indices)
- g!rights (list/map (|>> nat/encode (text/compose "right") code.local-symbol) indices)]]
+ g!lefts (list/map (|>> nat/encode (text/compose "left") code.local-identifier) indices)
+ g!rights (list/map (|>> nat/encode (text/compose "right") code.local-identifier) indices)]]
(wrap (` (: (~ (@Equivalence inputT))
(function ((~ g!_) [(~+ g!lefts)] [(~+ g!rights)])
(and (~+ (|> (list.zip3 g!eqs g!lefts g!rights)
@@ -127,7 +127,7 @@
## Type recursion
(do @
[[g!self bodyC] (poly.recursive Equivalence<?>)
- #let [g!_ (code.local-symbol "_____________")]]
+ #let [g!_ (code.local-identifier "_____________")]]
(wrap (` (: (~ (@Equivalence inputT))
(eq.rec (.function ((~ g!_) (~ g!self))
(~ bodyC)))))))
diff --git a/stdlib/source/lux/macro/poly/functor.lux b/stdlib/source/lux/macro/poly/functor.lux
index 3b9e851a4..d28e98337 100644
--- a/stdlib/source/lux/macro/poly/functor.lux
+++ b/stdlib/source/lux/macro/poly/functor.lux
@@ -19,9 +19,9 @@
(poly: #export Functor<?>
(do @
- [#let [type-funcC (code.local-symbol "____________type-funcC")
- funcC (code.local-symbol "____________funcC")
- inputC (code.local-symbol "____________inputC")]
+ [#let [type-funcC (code.local-identifier "____________type-funcC")
+ funcC (code.local-identifier "____________funcC")
+ inputC (code.local-identifier "____________inputC")]
*env* poly.env
inputT poly.peek
[polyC varsC non-functorT] (poly.local (list inputT)
@@ -31,7 +31,7 @@
(function (_ unwrappedT)
(if (n/= +1 num-vars)
(` ((~! functor.Functor) (~ (poly.to-code *env* unwrappedT))))
- (let [paramsC (|> num-vars dec list.indices (list/map (|>> %n code.local-symbol)))]
+ (let [paramsC (|> num-vars dec list.indices (list/map (|>> %n code.local-identifier)))]
(` (All [(~+ paramsC)]
((~! functor.Functor) ((~ (poly.to-code *env* unwrappedT)) (~+ paramsC)))))))))
Arg<?> (: (-> Code (poly.Poly Code))
@@ -57,7 +57,7 @@
(poly.tuple (loop [idx +0
pairsCC (: (List [Code Code])
(list))]
- (p.either (let [slotC (|> idx %n (format "____________slot") code.local-symbol)]
+ (p.either (let [slotC (|> idx %n (format "____________slot") code.local-identifier)]
(do @
[_ (wrap [])
memberC (Arg<?> slotC)]
@@ -70,13 +70,13 @@
## Functions
(do @
[_ (wrap [])
- #let [g! (code.local-symbol "____________")
- outL (code.local-symbol "____________outL")]
+ #let [g! (code.local-identifier "____________")
+ outL (code.local-identifier "____________outL")]
[inT+ outC] (poly.function (p.many poly.any)
(Arg<?> outL))
#let [inC+ (|> (list.size inT+) dec
(list.n/range +0)
- (list/map (|>> %n (format "____________inC") code.local-symbol)))]]
+ (list/map (|>> %n (format "____________inC") code.local-identifier)))]]
(wrap (` (function ((~ g!) (~+ inC+))
(let [(~ outL) ((~ valueC) (~+ inC+))]
(~ outC))))))
diff --git a/stdlib/source/lux/macro/poly/json.lux b/stdlib/source/lux/macro/poly/json.lux
index 7cd02657f..4217ce704 100644
--- a/stdlib/source/lux/macro/poly/json.lux
+++ b/stdlib/source/lux/macro/poly/json.lux
@@ -86,12 +86,12 @@
(with-expansions
[<basic> (do-template [<matcher> <encoder>]
[(do @
- [#let [g!_ (code.local-symbol "_______")]
+ [#let [g!_ (code.local-identifier "_______")]
_ <matcher>]
(wrap (` (: (~ (@JSON//encode inputT))
<encoder>))))]
- [(poly.exactly Any) (function ((~ g!_) (~ (code.symbol ["" "0"]))) #//.Null)]
+ [(poly.exactly Any) (function ((~ g!_) (~ (code.identifier ["" "0"]))) #//.Null)]
[(poly.sub Bit) (|>> #//.Boolean)]
[(poly.sub Nat) (:: (~! ..Codec<JSON,Nat>) (~' encode))]
[(poly.sub Int) (:: (~! ..Codec<JSON,Int>) (~' encode))]
@@ -123,9 +123,9 @@
(wrap (` (: (~ (@JSON//encode inputT))
(:: (~! Codec<JSON,Qty>) (~' encode))))))
(do @
- [#let [g!_ (code.local-symbol "_______")
- g!key (code.local-symbol "_______key")
- g!val (code.local-symbol "_______val")]
+ [#let [g!_ (code.local-identifier "_______")
+ g!key (code.local-identifier "_______key")
+ g!val (code.local-identifier "_______val")]
[_ _ =val=] (poly.apply ($_ p.seq
(poly.exactly d.Dictionary)
(poly.exactly .Text)
@@ -149,8 +149,8 @@
(wrap (` (: (~ (@JSON//encode inputT))
(|>> ((~! list/map) (~ =sub=)) row.from-list #//.Array)))))
(do @
- [#let [g!_ (code.local-symbol "_______")
- g!input (code.local-symbol "_______input")]
+ [#let [g!_ (code.local-identifier "_______")
+ g!input (code.local-identifier "_______input")]
members (poly.variant (p.many Codec<JSON,?>//encode))]
(wrap (` (: (~ (@JSON//encode inputT))
(function ((~ g!_) (~ g!input))
@@ -162,10 +162,10 @@
(list.enumerate members))))))))))
(do @
[g!encoders (poly.tuple (p.many Codec<JSON,?>//encode))
- #let [g!_ (code.local-symbol "_______")
+ #let [g!_ (code.local-identifier "_______")
g!members (|> (list.size g!encoders) dec
(list.n/range +0)
- (list/map (|>> nat/encode code.local-symbol)))]]
+ (list/map (|>> nat/encode code.local-identifier)))]]
(wrap (` (: (~ (@JSON//encode inputT))
(function ((~ g!_) [(~+ g!members)])
(//.json [(~+ (list/map (function (_ [g!member g!encode])
@@ -174,7 +174,7 @@
## Type recursion
(do @
[[selfC non-recC] (poly.recursive Codec<JSON,?>//encode)
- #let [g! (code.local-symbol "____________")]]
+ #let [g! (code.local-identifier "____________")]]
(wrap (` (: (~ (@JSON//encode inputT))
((~! ..rec-encode) (.function ((~ g!) (~ selfC))
(~ non-recC)))))))
@@ -271,7 +271,7 @@
## Type recursion
(do @
[[selfC bodyC] (poly.recursive Codec<JSON,?>//decode)
- #let [g! (code.local-symbol "____________")]]
+ #let [g! (code.local-identifier "____________")]]
(wrap (` (: (~ (@JSON//decode inputT))
(p.rec (.function ((~ g!) (~ selfC))
(~ bodyC)))))))
diff --git a/stdlib/source/lux/macro/syntax.lux b/stdlib/source/lux/macro/syntax.lux
index 1334296da..db5e086b6 100644
--- a/stdlib/source/lux/macro/syntax.lux
+++ b/stdlib/source/lux/macro/syntax.lux
@@ -55,14 +55,14 @@
_
(#error.Error ($_ text/compose "Cannot parse " <desc> (remaining-inputs tokens))))))]
- [ bit Bit #.Bit bit.Equivalence<Bit> "bit"]
- [ nat Nat #.Nat number.Equivalence<Nat> "nat"]
- [ int Int #.Int number.Equivalence<Int> "int"]
- [ rev Rev #.Rev number.Equivalence<Rev> "rev"]
- [ frac Frac #.Frac number.Equivalence<Frac> "frac"]
- [ text Text #.Text text.Equivalence<Text> "text"]
- [symbol Name #.Symbol name.Equivalence<Name> "symbol"]
- [ tag Name #.Tag name.Equivalence<Name> "tag"]
+ [ bit Bit #.Bit bit.Equivalence<Bit> "bit"]
+ [ nat Nat #.Nat number.Equivalence<Nat> "nat"]
+ [ int Int #.Int number.Equivalence<Int> "int"]
+ [ rev Rev #.Rev number.Equivalence<Rev> "rev"]
+ [ frac Frac #.Frac number.Equivalence<Frac> "frac"]
+ [ text Text #.Text text.Equivalence<Text> "text"]
+ [identifier Name #.Identifier name.Equivalence<Name> "identifier"]
+ [ tag Name #.Tag name.Equivalence<Name> "tag"]
)
(def: #export (this? ast)
@@ -106,7 +106,7 @@
_
(#error.Error ($_ text/compose "Cannot parse local " <desc> (remaining-inputs tokens))))))]
- [local-symbol #.Symbol "symbol"]
+ [local-identifier #.Identifier "identifier"]
[ local-tag #.Tag "tag"]
)
@@ -221,11 +221,11 @@
[#0 tokens]))
?parts (: (Maybe [Text (List Code) Code Code])
(case tokens
- (^ (list [_ (#.Form (list& [_ (#.Symbol ["" name])] args))]
+ (^ (list [_ (#.Form (list& [_ (#.Identifier ["" name])] args))]
body))
(#.Some name args (` {}) body)
- (^ (list [_ (#.Form (list& [_ (#.Symbol ["" name])] args))]
+ (^ (list [_ (#.Form (list& [_ (#.Identifier ["" name])] args))]
meta-data
body))
(#.Some name args meta-data body)
@@ -243,19 +243,19 @@
(^ [_ (#.Record (list [var parser]))])
(wrap [var parser])
- [_ (#.Symbol var-name)]
- (wrap [(code.symbol var-name) (` any)])
+ [_ (#.Identifier var-name)]
+ (wrap [(code.identifier var-name) (` any)])
_
- (//.fail "Syntax pattern expects records or symbols."))))
+ (//.fail "Syntax pattern expects records or identifiers."))))
args)
- #let [g!state (code.symbol ["" "*compiler*"])
+ #let [g!state (code.identifier ["" "*compiler*"])
error-msg (code.text (text/compose "Wrong syntax for " name))
export-ast (: (List Code)
(if exported?
(list (' #export))
(list)))]]
- (wrap (list (` (macro: (~+ export-ast) ((~ (code.symbol ["" name])) (~ g!tokens) (~ g!state))
+ (wrap (list (` (macro: (~+ export-ast) ((~ (code.identifier ["" name])) (~ g!tokens) (~ g!state))
(~ meta)
({(#error.Success (~ g!body))
((~ g!body) (~ g!state))
diff --git a/stdlib/source/lux/macro/syntax/common/reader.lux b/stdlib/source/lux/macro/syntax/common/reader.lux
index 2ec2ee95d..fb4238317 100644
--- a/stdlib/source/lux/macro/syntax/common/reader.lux
+++ b/stdlib/source/lux/macro/syntax/common/reader.lux
@@ -26,10 +26,10 @@
quux
(foo bar baz))}
(Syntax //.Declaration)
- (p.either (p.seq s.local-symbol
+ (p.either (p.seq s.local-identifier
(parser/wrap (list)))
- (s.form (p.seq s.local-symbol
- (p.many s.local-symbol)))))
+ (s.form (p.seq s.local-identifier
+ (p.many s.local-identifier)))))
## Annotations
(def: #export annotations
@@ -114,7 +114,7 @@
(s.local me-definition-raw
(s.form (do @
[_ (s.this (' "lux def"))
- definition-name s.local-symbol
+ definition-name s.local-identifier
[?definition-type definition-value] check^
definition-anns s.any
definition-anns (s.local (list definition-anns)
@@ -147,4 +147,4 @@
(def: #export type-variables
{#.doc "Reader for the common type var/param used by many macros."}
(Syntax (List Text))
- (s.tuple (p.some s.local-symbol)))
+ (s.tuple (p.some s.local-identifier)))
diff --git a/stdlib/source/lux/macro/syntax/common/writer.lux b/stdlib/source/lux/macro/syntax/common/writer.lux
index 114a41505..9133cdfa0 100644
--- a/stdlib/source/lux/macro/syntax/common/writer.lux
+++ b/stdlib/source/lux/macro/syntax/common/writer.lux
@@ -17,8 +17,8 @@
(def: #export (declaration declaration)
(-> //.Declaration Code)
- (` ((~ (code.local-symbol (get@ #//.declaration-name declaration)))
- (~+ (list/map code.local-symbol
+ (` ((~ (code.local-identifier (get@ #//.declaration-name declaration)))
+ (~+ (list/map code.local-identifier
(get@ #//.declaration-args declaration))))))
(def: #export (annotations anns)
@@ -27,4 +27,4 @@
(def: #export (type-variables vars)
(-> (List Text) (List Code))
- (list/map code.local-symbol vars))
+ (list/map code.local-identifier vars))
diff --git a/stdlib/source/lux/math.lux b/stdlib/source/lux/math.lux
index 8692449a1..fea20ba9c 100644
--- a/stdlib/source/lux/math.lux
+++ b/stdlib/source/lux/math.lux
@@ -199,7 +199,7 @@
(parser/map code.rev s.rev)
(parser/map code.frac s.frac)
(parser/map code.text s.text)
- (parser/map code.symbol s.symbol)
+ (parser/map code.identifier s.identifier)
(parser/map code.tag s.tag))
(s.form (p.many s.any))
(s.tuple (p.seq s.any infix^))
diff --git a/stdlib/source/lux/test.lux b/stdlib/source/lux/test.lux
index 75879343c..307b71b89 100644
--- a/stdlib/source/lux/test.lux
+++ b/stdlib/source/lux/test.lux
@@ -239,7 +239,7 @@
(~ g!total-failures) +0]
(~+ (|> tests
(list/map (function (_ [module-name test desc])
- (` [(~ (code.text module-name)) (~ (code.symbol [module-name test])) (~ (code.text desc))])))
+ (` [(~ (code.text module-name)) (~ (code.identifier [module-name test])) (~ (code.text desc))])))
(list.split-all promise.parallelism)
(list/map (function (_ group)
(list (` [(~ g!successes) (~ g!failures)]) (` ((~! run') (list (~+ group))))
diff --git a/stdlib/source/lux/type.lux b/stdlib/source/lux/type.lux
index 929967e84..79f13333d 100644
--- a/stdlib/source/lux/type.lux
+++ b/stdlib/source/lux/type.lux
@@ -183,7 +183,7 @@
([#.Sum] [#.Product] [#.Function] [#.Apply])
(#.Named name sub-type)
- (code.symbol name)
+ (code.identifier name)
(^template [<tag>]
(<tag> env body)
@@ -336,7 +336,7 @@
+0 elem-type
_ (|> elem-type (array (dec level)) (list) (#.Primitive "#Array"))))
-(syntax: #export (:log! {input (p.alt s.symbol
+(syntax: #export (:log! {input (p.alt s.identifier
s.any)})
(case input
(#.Left valueN)
@@ -355,13 +355,13 @@
(def: type-parameters
(Syntax (List Text))
- (s.tuple (p.some s.local-symbol)))
+ (s.tuple (p.some s.local-identifier)))
(syntax: #export (:cast {type-vars type-parameters}
input
output
{value (p.maybe s.any)})
- (let [casterC (` (: (All [(~+ (list/map code.local-symbol type-vars))]
+ (let [casterC (` (: (All [(~+ (list/map code.local-identifier type-vars))]
(-> (~ input) (~ output)))
(|>> :assume)))]
(case value
@@ -383,7 +383,7 @@
{exemplar typed}
{computation typed})
(macro.with-gensyms [g!_]
- (let [shareC (` (: (All [(~+ (list/map code.local-symbol type-vars))]
+ (let [shareC (` (: (All [(~+ (list/map code.local-identifier type-vars))]
(-> (~ (get@ #type exemplar))
(~ (get@ #type computation))))
(.function ((~ g!_) (~ g!_))
diff --git a/stdlib/source/lux/type/abstract.lux b/stdlib/source/lux/type/abstract.lux
index 648435721..a7fd3ead9 100644
--- a/stdlib/source/lux/type/abstract.lux
+++ b/stdlib/source/lux/type/abstract.lux
@@ -78,9 +78,9 @@
(-> Text Text (List Text) (Meta Any))
(do macro.Monad<Meta>
[this-module (macro.find-module this-module-name)
- #let [type-varsC (list/map code.local-symbol type-vars)
- abstraction-declaration (` ((~ (code.local-symbol name)) (~+ type-varsC)))
- representation-declaration (` ((~ (code.local-symbol (representation-name name))) (~+ type-varsC)))
+ #let [type-varsC (list/map code.local-identifier type-vars)
+ abstraction-declaration (` ((~ (code.local-identifier name)) (~+ type-varsC)))
+ representation-declaration (` ((~ (code.local-identifier (representation-name name))) (~+ type-varsC)))
this-module (|> this-module
(update@ #.definitions (put down-cast (: Definition
[Macro macro-anns
@@ -103,8 +103,8 @@
(#error.Success [(update@ #.modules (put this-module-name this-module) compiler)
[]]))))
-(syntax: (install-casts {name s.local-symbol}
- {type-vars (s.tuple (p.some s.local-symbol))})
+(syntax: (install-casts {name s.local-identifier}
+ {type-vars (s.tuple (p.some s.local-identifier))})
(do @
[this-module-name macro.current-module-name
?down-cast (macro.find-macro [this-module-name down-cast])
@@ -134,8 +134,8 @@
(def: declaration
(s.Syntax [Text (List Text)])
- (p.either (s.form (p.seq s.local-symbol (p.some s.local-symbol)))
- (p.seq s.local-symbol (:: p.Monad<Parser> wrap (list)))))
+ (p.either (s.form (p.seq s.local-identifier (p.some s.local-identifier)))
+ (p.seq s.local-identifier (:: p.Monad<Parser> wrap (list)))))
(syntax: #export (abstract:
{export csr.export}
@@ -144,25 +144,25 @@
representation-type
{primitives (p.some s.any)})
(let [hidden-name (representation-name name)
- type-varsC (list/map code.local-symbol type-vars)
- abstraction-declaration (` ((~ (code.local-symbol name)) (~+ type-varsC)))
- representation-declaration (` ((~ (code.local-symbol hidden-name)) (~+ type-varsC)))]
+ type-varsC (list/map code.local-identifier type-vars)
+ abstraction-declaration (` ((~ (code.local-identifier name)) (~+ type-varsC)))
+ representation-declaration (` ((~ (code.local-identifier hidden-name)) (~+ type-varsC)))]
(wrap (list& (` (type: (~+ (csw.export export)) (~ abstraction-declaration)
(~ (csw.annotations annotations))
(primitive (~ (code.text hidden-name)) [(~+ type-varsC)])))
(` (type: (~+ (csw.export export)) (~ representation-declaration)
(~ representation-type)))
- (` ((~! install-casts) (~ (code.local-symbol name)) [(~+ type-varsC)]))
+ (` ((~! install-casts) (~ (code.local-identifier name)) [(~+ type-varsC)]))
(list/compose primitives
(list (` ((~! un-install-casts)))))))))
-(syntax: #export (^:representation {name (s.form s.local-symbol)}
+(syntax: #export (^:representation {name (s.form s.local-identifier)}
body
{branches (p.some s.any)})
- (let [g!representation (code.local-symbol name)]
+ (let [g!representation (code.local-identifier name)]
(do @
[current-module macro.current-module-name
- #let [g!:representation (code.symbol [current-module up-cast])]]
+ #let [g!:representation (code.identifier [current-module up-cast])]]
(wrap (list& g!representation
(` (.let [(~ g!representation) ((~ g!:representation) (~ g!representation))]
(~ body)))
diff --git a/stdlib/source/lux/type/implicit.lux b/stdlib/source/lux/type/implicit.lux
index b38ade514..8c1718d84 100644
--- a/stdlib/source/lux/type/implicit.lux
+++ b/stdlib/source/lux/type/implicit.lux
@@ -286,7 +286,7 @@
(def: (var? input)
(-> Code Bit)
(case input
- [_ (#.Symbol _)]
+ [_ (#.Identifier _)]
#1
_
@@ -300,14 +300,14 @@
(-> Instance Code)
(case dependencies
#.Nil
- (code.symbol constructor)
+ (code.identifier constructor)
_
- (` ((~ (code.symbol constructor)) (~+ (list/map instance$ dependencies))))))
+ (` ((~ (code.identifier constructor)) (~+ (list/map instance$ dependencies))))))
(syntax: #export (:::
- {member s.symbol}
- {args (p.alt (p.seq (p.some s.symbol) s.end!)
+ {member s.identifier}
+ {args (p.alt (p.seq (p.some s.identifier) s.end!)
(p.seq (p.some s.any) s.end!))})
{#.doc (doc "Automatic structure selection (for type-class style polymorphism)."
"This feature layers type-class style polymorphism on top of Lux's signatures and structures."
@@ -345,8 +345,8 @@
(#.Cons chosen #.Nil)
(wrap (list (` (:: (~ (instance$ chosen))
- (~ (code.local-symbol (product.right member)))
- (~+ (list/map code.symbol args))))))
+ (~ (code.local-identifier (product.right member)))
+ (~+ (list/map code.identifier args))))))
_
(macro.fail (format "Too many options available: "
@@ -359,7 +359,7 @@
(do @
[labels (|> (macro.gensym "") (list.repeat (list.size args)) (monad.seq @))]
(wrap (list (` (let [(~+ (|> (list.zip2 labels args) (list/map join-pair) list/join))]
- (..::: (~ (code.symbol member)) (~+ labels)))))))
+ (..::: (~ (code.identifier member)) (~+ labels)))))))
))
(def: (implicit-bindings amount)
diff --git a/stdlib/source/lux/type/quotient.lux b/stdlib/source/lux/type/quotient.lux
index 8f22f4702..03119d865 100644
--- a/stdlib/source/lux/type/quotient.lux
+++ b/stdlib/source/lux/type/quotient.lux
@@ -58,7 +58,7 @@
($_ p.seq poly.any poly.any poly.existential))]
(wrap (.type (..Quotient valueT classT (:~ (#.Ex quotient-ex))))))))
-(syntax: #export (type {quotient s.symbol})
+(syntax: #export (type {quotient s.identifier})
(do @
[constructorT (macro.find-type quotient)
quotientT (case (quotient-type constructorT)
diff --git a/stdlib/source/lux/type/refinement.lux b/stdlib/source/lux/type/refinement.lux
index dd8664236..01504af3c 100644
--- a/stdlib/source/lux/type/refinement.lux
+++ b/stdlib/source/lux/type/refinement.lux
@@ -92,7 +92,7 @@
(p.seq poly.any poly.existential)))]
(wrap (.type (..Refined un-refinedT (#.Ex refined-ex)))))))
-(syntax: #export (type {refinement s.symbol})
+(syntax: #export (type {refinement s.identifier})
(do @
[constructorT (macro.find-type refinement)
refinementT (case (refinement-type constructorT)
diff --git a/stdlib/source/lux/type/unit.lux b/stdlib/source/lux/type/unit.lux
index 230818e30..a7d4effbc 100644
--- a/stdlib/source/lux/type/unit.lux
+++ b/stdlib/source/lux/type/unit.lux
@@ -70,13 +70,13 @@
(syntax: #export (unit:
{export csr.export}
- {name s.local-symbol}
+ {name s.local-identifier}
{annotations (p.default cs.empty-annotations csr.annotations)})
- (wrap (list (` (type: (~+ (csw.export export)) (~ (code.local-symbol name))
+ (wrap (list (` (type: (~+ (csw.export export)) (~ (code.local-identifier name))
(~ (csw.annotations annotations))
(primitive (~ (code.text (unit-name name))))))
- (` (def: (~+ (csw.export export)) (~ (code.local-symbol (format "@" name)))
- (~ (code.local-symbol name))
+ (` (def: (~+ (csw.export export)) (~ (code.local-identifier (format "@" name)))
+ (~ (code.local-identifier name))
(:assume [])))
)))
@@ -93,14 +93,14 @@
(syntax: #export (scale:
{export csr.export}
- {name s.local-symbol}
+ {name s.local-identifier}
{(^slots [#r.numerator #r.denominator]) ratio^}
{annotations (p.default cs.empty-annotations csr.annotations)})
- (let [g!scale (code.local-symbol name)]
+ (let [g!scale (code.local-identifier name)]
(wrap (list (` (type: (~+ (csw.export export)) ((~ g!scale) (~' u))
(~ (csw.annotations annotations))
(primitive (~ (code.text (scale-name name))) [(~' u)])))
- (` (structure: (~+ (csw.export export)) (~ (code.local-symbol (format "@" name)))
+ (` (structure: (~+ (csw.export export)) (~ (code.local-identifier (format "@" name)))
(..Scale (~ g!scale))
(def: (~' scale)
(|>> ..out
diff --git a/stdlib/test/test/lux/compiler/default/phase/analysis/function.lux b/stdlib/test/test/lux/compiler/default/phase/analysis/function.lux
index b5140f782..66c5f1a23 100644
--- a/stdlib/test/test/lux/compiler/default/phase/analysis/function.lux
+++ b/stdlib/test/test/lux/compiler/default/phase/analysis/function.lux
@@ -53,7 +53,7 @@
arg-name (|> (r.unicode +5) (r.filter (|>> (text/= func-name) not)))
[outputT outputC] _primitive.primitive
[inputT _] _primitive.primitive
- #let [g!arg (code.local-symbol arg-name)]]
+ #let [g!arg (code.local-identifier arg-name)]]
($_ seq
(test "Can analyse function."
(and (|> (typeA.with-type (All [a] (-> a outputT))
@@ -71,7 +71,7 @@
_structure.check-succeeds)))
(test "The function's name is bound to the function's type."
(|> (typeA.with-type (Rec self (-> inputT self))
- (/.function ..analyse func-name arg-name (code.local-symbol func-name)))
+ (/.function ..analyse func-name arg-name (code.local-identifier func-name)))
_structure.check-succeeds))
))))
diff --git a/stdlib/test/test/lux/compiler/default/phase/analysis/procedure/common.lux b/stdlib/test/test/lux/compiler/default/phase/analysis/procedure/common.lux
index 70679e22a..5c7296eff 100644
--- a/stdlib/test/test/lux/compiler/default/phase/analysis/procedure/common.lux
+++ b/stdlib/test/test/lux/compiler/default/phase/analysis/procedure/common.lux
@@ -178,7 +178,7 @@
idxC (|> r.nat (:: @ map code.nat))
var-name (r.unicode +5)
#let [arrayT (type (Array elemT))
- g!array (code.local-symbol var-name)
+ g!array (code.local-identifier var-name)
array-operation (function (_ output-type code)
(|> (scope.with-scope ""
(scope.with-local [var-name arrayT]
@@ -253,7 +253,7 @@
(|> (scope.with-scope ""
(scope.with-local [var-name atomT]
(typeA.with-type elemT
- (_primitive.analyse (` ("lux atom read" (~ (code.symbol ["" var-name]))))))))
+ (_primitive.analyse (` ("lux atom read" (~ (code.identifier ["" var-name]))))))))
(phase.run [analysisE.bundle (init.compiler [])])
(case> (#e.Success _)
#1
@@ -265,7 +265,7 @@
(scope.with-local [var-name atomT]
(typeA.with-type Bit
(_primitive.analyse (` ("lux atom compare-and-swap"
- (~ (code.symbol ["" var-name]))
+ (~ (code.identifier ["" var-name]))
(~ elemC)
(~ elemC)))))))
(phase.run [analysisE.bundle (init.compiler [])])
diff --git a/stdlib/test/test/lux/compiler/default/phase/analysis/reference.lux b/stdlib/test/test/lux/compiler/default/phase/analysis/reference.lux
index de813de4e..5c5ac9ee5 100644
--- a/stdlib/test/test/lux/compiler/default/phase/analysis/reference.lux
+++ b/stdlib/test/test/lux/compiler/default/phase/analysis/reference.lux
@@ -60,7 +60,7 @@
(module.import def-module)
(wrap []))]
(typeA.with-inference
- (..analyse (code.symbol [def-module var-name]))))))
+ (..analyse (code.identifier [def-module var-name]))))))
(phase.run [analysisE.bundle (init.compiler [])])
check!))
@@ -78,7 +78,7 @@
(|> (scope.with-scope scope-name
(scope.with-local [var-name expectedT]
(typeA.with-inference
- (..analyse (code.local-symbol var-name)))))
+ (..analyse (code.local-identifier var-name)))))
(phase.run [analysisE.bundle (init.compiler [])])
(case> (^ (#e.Success [inferredT (#analysis.Reference (reference.local var))]))
(and (type/= expectedT inferredT)
@@ -91,7 +91,7 @@
(|> (do phase.Monad<Operation>
[_ (module.define var-name [expectedT (' {}) []])]
(typeA.with-inference
- (..analyse (code.symbol def-name))))
+ (..analyse (code.identifier def-name))))
(module.with-module +0 def-module)
(phase.run [analysisE.bundle (init.compiler [])])
(case> (^ (#e.Success [_ inferredT (#analysis.Reference (reference.constant constant-name))]))
diff --git a/stdlib/test/test/lux/compiler/default/syntax.lux b/stdlib/test/test/lux/compiler/default/syntax.lux
index a0d5ce367..8717f03fa 100644
--- a/stdlib/test/test/lux/compiler/default/syntax.lux
+++ b/stdlib/test/test/lux/compiler/default/syntax.lux
@@ -59,7 +59,7 @@
(do r.Monad<Random>
[size (|> r.nat (r/map (n/% +20)))]
(|> (r.unicode size) (r/map code.text)))
- (|> name^ (r/map code.symbol))
+ (|> name^ (r/map code.identifier))
(|> name^ (r/map code.tag))))
simple^ (: (r.Random Code)
($_ r.either
diff --git a/stdlib/test/test/lux/data/name.lux b/stdlib/test/test/lux/data/name.lux
index 699b76bb2..296e9c1bf 100644
--- a/stdlib/test/test/lux/data/name.lux
+++ b/stdlib/test/test/lux/data/name.lux
@@ -60,7 +60,7 @@
(context: "Name-related macros."
(let [(^open "&/.") &.Equivalence<Name>]
($_ seq
- (test "Can obtain Name from symbol."
+ (test "Can obtain Name from identifier."
(and (&/= ["lux" "yolo"] (name-for .yolo))
(&/= ["test/lux/data/name" "yolo"] (name-for ..yolo))
(&/= ["" "yolo"] (name-for yolo))
diff --git a/stdlib/test/test/lux/macro/code.lux b/stdlib/test/test/lux/macro/code.lux
index 735c28f64..d4739c894 100644
--- a/stdlib/test/test/lux/macro/code.lux
+++ b/stdlib/test/test/lux/macro/code.lux
@@ -24,11 +24,11 @@
[(&.frac 123.0) "123.0"]
[(&.text "\n") "\"\\n\""]
[(&.tag ["yolo" "lol"]) "#yolo.lol"]
- [(&.symbol ["yolo" "lol"]) "yolo.lol"]
+ [(&.identifier ["yolo" "lol"]) "yolo.lol"]
[(&.form (list (&.bit #1) (&.int 123))) "(#1 123)"]
[(&.tuple (list (&.bit #1) (&.int 123))) "[#1 123]"]
[(&.record (list [(&.bit #1) (&.int 123)])) "{#1 123}"]
[(&.local-tag "lol") "#lol"]
- [(&.local-symbol "lol") "lol"]
+ [(&.local-identifier "lol") "lol"]
)]
($_ seq <tests>)))
diff --git a/stdlib/test/test/lux/macro/syntax.lux b/stdlib/test/test/lux/macro/syntax.lux
index d378153bc..dfeacb0c6 100644
--- a/stdlib/test/test/lux/macro/syntax.lux
+++ b/stdlib/test/test/lux/macro/syntax.lux
@@ -72,24 +72,24 @@
(found? (s.this? (<ctor> <value>)) (list (<ctor> <value>)))
(enforced? (s.this (<ctor> <value>)) (list (<ctor> <value>)))))]
- ["Can parse Bit syntax." #1 code.bit bit.Equivalence<Bit> s.bit]
- ["Can parse Nat syntax." +123 code.nat number.Equivalence<Nat> s.nat]
- ["Can parse Int syntax." 123 code.int number.Equivalence<Int> s.int]
- ["Can parse Rev syntax." .123 code.rev number.Equivalence<Rev> s.rev]
- ["Can parse Frac syntax." 123.0 code.frac number.Equivalence<Frac> s.frac]
- ["Can parse Text syntax." "\n" code.text text.Equivalence<Text> s.text]
- ["Can parse Symbol syntax." ["yolo" "lol"] code.symbol name.Equivalence<Name> s.symbol]
- ["Can parse Tag syntax." ["yolo" "lol"] code.tag name.Equivalence<Name> s.tag]
+ ["Can parse Bit syntax." #1 code.bit bit.Equivalence<Bit> s.bit]
+ ["Can parse Nat syntax." +123 code.nat number.Equivalence<Nat> s.nat]
+ ["Can parse Int syntax." 123 code.int number.Equivalence<Int> s.int]
+ ["Can parse Rev syntax." .123 code.rev number.Equivalence<Rev> s.rev]
+ ["Can parse Frac syntax." 123.0 code.frac number.Equivalence<Frac> s.frac]
+ ["Can parse Text syntax." "\n" code.text text.Equivalence<Text> s.text]
+ ["Can parse Identifier syntax." ["yolo" "lol"] code.identifier name.Equivalence<Name> s.identifier]
+ ["Can parse Tag syntax." ["yolo" "lol"] code.tag name.Equivalence<Name> s.tag]
)]
($_ seq
<simple-tests>
- (test "Can parse symbols belonging to the current namespace."
+ (test "Can parse identifiers belonging to the current namespace."
(and (match "yolo"
- (p.run (list (code.local-symbol "yolo"))
- s.local-symbol))
- (fails? (p.run (list (code.symbol ["yolo" "lol"]))
- s.local-symbol))))
+ (p.run (list (code.local-identifier "yolo"))
+ s.local-identifier))
+ (fails? (p.run (list (code.identifier ["yolo" "lol"]))
+ s.local-identifier))))
(test "Can parse tags belonging to the current namespace."
(and (match "yolo"