aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation
diff options
context:
space:
mode:
authorEduardo Julian2018-05-06 00:45:45 -0400
committerEduardo Julian2018-05-06 00:45:45 -0400
commit8787650c4b1641832db9df2c35bc3046e886220e (patch)
tree8c14799379226aa8452d39d91e9a56896db9187f /new-luxc/source/luxc/lang/translation
parent3c93d7a3aabaa49c67f9a498bc0d70f0af7f09d0 (diff)
- Updated new-luxc to the latest stdlib changes.
Diffstat (limited to '')
-rw-r--r--new-luxc/source/luxc/lang/translation.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp.lux20
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/case.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/procedure/host.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/runtime.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/common-lisp/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/js.lux22
-rw-r--r--new-luxc/source/luxc/lang/translation/js/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/js/procedure/host.jvm.lux2
-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/common.jvm.lux12
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/procedure/host.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/lua.lux20
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/php.lux20
-rw-r--r--new-luxc/source/luxc/lang/translation/php/case.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/php/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/php/procedure/host.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/php/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/python.lux20
-rw-r--r--new-luxc/source/luxc/lang/translation/python/case.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/python/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/python/procedure/host.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/python/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/r.lux20
-rw-r--r--new-luxc/source/luxc/lang/translation/r/case.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/r/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/r/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby.lux20
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/procedure/host.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/scheme.lux20
-rw-r--r--new-luxc/source/luxc/lang/translation/scheme/case.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/scheme/procedure.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/scheme/procedure/common.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/scheme/procedure/host.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux6
-rw-r--r--new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux2
60 files changed, 172 insertions, 172 deletions
diff --git a/new-luxc/source/luxc/lang/translation.lux b/new-luxc/source/luxc/lang/translation.lux
index 8857a83d1..cd9214885 100644
--- a/new-luxc/source/luxc/lang/translation.lux
+++ b/new-luxc/source/luxc/lang/translation.lux
@@ -131,7 +131,7 @@
(&.throw Unrecognized-Statement (%code code))))
(def: (forgive-eof action)
- (-> (Meta Unit) (Meta Unit))
+ (-> (Meta Top) (Meta Top))
(function (_ compiler)
(case (action compiler)
(#e.Error error)
@@ -173,7 +173,7 @@
e.assume)))})
## (def: (write-module target-dir file-name module-name module artifacts)
-## (-> File Text Text Module Artifacts (Process Unit))
+## (-> File Text Text Module Artifacts (Process Top))
## (do io.Monad<Process>
## [_ (monad.map @ (product.uncurry (&io.write target-dir))
## (dict.entries artifacts))]
@@ -270,7 +270,7 @@
(translate-module sources target prelude compiler)))
(def: #export (translate-program sources target program)
- (-> (List File) File Text (Process Unit))
+ (-> (List File) File Text (Process Top))
(do io.Monad<Process>
[compiler (initialize sources target)
_ (translate-module sources target program compiler)
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp.lux b/new-luxc/source/luxc/lang/translation/common-lisp.lux
index e76e614f8..4e18c48cf 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp.lux
@@ -52,7 +52,7 @@
(type: #export Host
{#context [Text Nat]
#anchor (Maybe Anchor)
- #loader (-> Expression (Error Unit))
+ #loader (-> Expression (Error Top))
#interpreter (-> Expression (Error LispObject))
#module-buffer (Maybe StringBuilder)
#program-buffer StringBuilder})
@@ -80,12 +80,12 @@
(def: #export r-module-name Text (format "module" file-extension))
(def: #export init-module-buffer
- (Meta Unit)
+ (Meta Top)
(function (_ compiler)
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #module-buffer (#.Some (StringBuilder::new [])))
- (:! Void))
+ (:! Bottom))
compiler)
[]])))
@@ -96,13 +96,13 @@
[old-name old-sub] (get@ #context old)
new-name (format old-name "f___" (%i (nat-to-int old-sub)))]
(case (expr (set@ #.host
- (:! Void (set@ #context [new-name +0] old))
+ (:! Bottom (set@ #context [new-name +0] old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #context [old-name (n/inc old-sub)])
- (:! Void))
+ (:! Bottom))
compiler')
[new-name output]])
@@ -124,13 +124,13 @@
(function (_ compiler)
(let [old (:! Host (get@ #.host compiler))]
(case (expr (set@ #.host
- (:! Void (set@ #anchor (#.Some anchor) old))
+ (:! Bottom (set@ #anchor (#.Some anchor) old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #anchor (get@ #anchor old))
- (:! Void))
+ (:! Bottom))
compiler')
output])
@@ -174,7 +174,7 @@
(#e.Success output)
(#e.Success [compiler output])))))]
- [load! #loader Unit]
+ [load! #loader Top]
[interpret #interpreter LispObject]
)
@@ -187,7 +187,7 @@
(lang.normalize-name (format module "$" name)))
(def: #export (save code)
- (-> Expression (Meta Unit))
+ (-> Expression (Meta Top))
(do macro.Monad<Meta>
[module-buffer module-buffer
#let [_ (Appendable::append [(:! CharSequence (_.expression code))]
@@ -197,7 +197,7 @@
(def: #export run interpret)
(def: #export (save-module! target)
- (-> File (Meta (Process Unit)))
+ (-> File (Meta (Process Top)))
(do macro.Monad<Meta>
[module macro.current-module-name
module-buffer module-buffer
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/case.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/case.jvm.lux
index 576fa8cc9..d132ba0b8 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp/case.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp/case.jvm.lux
@@ -6,7 +6,7 @@
[text]
text/format
(coll [list "list/" Functor<List> Fold<List>]
- [set #+ Set]))
+ (set ["set" unordered #+ Set])))
[macro #+ "meta/" Monad<Meta>]
(macro [code]))
(luxc [lang]
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux
index fa59ee45e..262f3f284 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp/eval.jvm.lux
@@ -24,7 +24,7 @@
(#static forName [String] #try (Class Object)))
(def: _0
- Unit
+ Top
(case (Class::forName "org.armedbear.lisp.Symbol")
(#e.Success _)
(log! "LOADED")
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/procedure.jvm.lux
index 0b9fa3544..ed8220613 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp/procedure.jvm.lux
@@ -4,7 +4,7 @@
["ex" exception #+ exception:])
(data [maybe]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang ["ls" synthesis]
(host ["_" common-lisp #+ Expression])))
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 42edae95b..895ed8d72 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
@@ -8,7 +8,7 @@
text/format
[number #+ hex]
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -33,7 +33,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 Expression) Expression))
@@ -61,7 +61,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/procedure/host.jvm.lux
index c1b43da2f..af82491b6 100644
--- a/new-luxc/source/luxc/lang/translation/common-lisp/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/common-lisp/procedure/host.jvm.lux
@@ -4,7 +4,7 @@
(data [text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>])
(luxc ["&" lang]
(lang ["la" analysis]
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 eae90e771..33f72b995 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
@@ -58,7 +58,7 @@
(p.either (p.seq s.local-symbol (p/wrap (list)))
(s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
-(syntax: (runtime: [[name args] declaration]
+(syntax: (runtime: {[name args] declaration}
definition)
(let [implementation (code.local-symbol (format "@@" name))
runtime (format prefix "__" (lang.normalize-name name))
@@ -93,7 +93,7 @@
(_.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-symbol))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
@@ -365,7 +365,7 @@
(def: #export artifact Text (format prefix //.file-extension))
(def: #export translate
- (Meta (Process Unit))
+ (Meta (Process Top))
(do macro.Monad<Meta>
[_ //.init-module-buffer
_ (//.save runtime)]
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 17f8b4ccb..e73d88c96 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
@@ -11,7 +11,7 @@
[".T" eval]))
(def: #export (translate-def name expressionT expressionO metaV)
- (-> Text Type Expression Code (Meta Unit))
+ (-> Text Type Expression Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
diff --git a/new-luxc/source/luxc/lang/translation/js.lux b/new-luxc/source/luxc/lang/translation/js.lux
index db76a2868..b318c7fbc 100644
--- a/new-luxc/source/luxc/lang/translation/js.lux
+++ b/new-luxc/source/luxc/lang/translation/js.lux
@@ -90,12 +90,12 @@
(def: #export module-js-name Text "module.js")
(def: #export init-module-buffer
- (Meta Unit)
+ (Meta Top)
(function (_ compiler)
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #module-buffer (#.Some (StringBuilder::new [])))
- (:! Void))
+ (:! Bottom))
compiler)
[]])))
@@ -106,13 +106,13 @@
[old-name old-sub] (get@ #context old)
new-name (format old-name "$" (%i (nat-to-int old-sub)))]
(case (expr (set@ #.host
- (:! Void (set@ #context [new-name +0] old))
+ (:! Bottom (set@ #context [new-name +0] old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #context [old-name (n/inc old-sub)])
- (:! Void))
+ (:! Bottom))
compiler')
[new-name output]])
@@ -134,13 +134,13 @@
(function (_ compiler)
(let [old (:! Host (get@ #.host compiler))]
(case (expr (set@ #.host
- (:! Void (set@ #anchor (#.Some anchor) old))
+ (:! Bottom (set@ #anchor (#.Some anchor) old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #anchor (get@ #anchor old))
- (:! Void))
+ (:! Bottom))
compiler')
output])
@@ -173,7 +173,7 @@
(#e.Success [compiler (|> compiler (get@ #.host) (:! Host) (get@ #program-buffer))])))
(def: (execute code)
- (-> Expression (Meta Unit))
+ (-> Expression (Meta Top))
(function (_ compiler)
(case (|> compiler
(get@ #.host)
@@ -304,7 +304,7 @@
(:! Object)))
))
-(def: #export unit Text "\u0000")
+(def: #export unit Text "")
(def: (module-name module)
(-> Text Text)
@@ -317,7 +317,7 @@
(format (module-name module) "$" (lang.normalize-name name)))
(def: #export (save-js code)
- (-> JS (Meta Unit))
+ (-> JS (Meta Top))
(do macro.Monad<Meta>
[module-buffer module-buffer
#let [_ (Appendable::append [(:! CharSequence code)]
@@ -325,11 +325,11 @@
(execute code)))
(def: #export (save-definition name code)
- (-> Ident Expression (Meta Unit))
+ (-> Ident Expression (Meta Top))
(save-js (format "var " (definition-name name) " = " code ";\n")))
(def: #export (save-module! target)
- (-> File (Meta (Process Unit)))
+ (-> File (Meta (Process Top)))
(do macro.Monad<Meta>
[module macro.current-module-name
module-buffer module-buffer
diff --git a/new-luxc/source/luxc/lang/translation/js/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/js/procedure.jvm.lux
index f67c1e523..cd5757663 100644
--- a/new-luxc/source/luxc/lang/translation/js/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/js/procedure.jvm.lux
@@ -4,7 +4,7 @@
["ex" exception #+ exception:])
(data [maybe]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang ["ls" synthesis]
(host [js #+ JS Expression Statement])))
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 365f730e3..8e40799f2 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
@@ -7,7 +7,7 @@
[text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -32,7 +32,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 Expression) Expression))
@@ -60,7 +60,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/js/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/js/procedure/host.jvm.lux
index dc6d48bd8..00c2429a4 100644
--- a/new-luxc/source/luxc/lang/translation/js/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/js/procedure/host.jvm.lux
@@ -4,7 +4,7 @@
(data [text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>])
(luxc ["&" lang]
(lang ["la" analysis]
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 ea1b82e98..2adb118f8 100644
--- a/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux
@@ -55,7 +55,7 @@
(-> Text (-> Text Expression) Statement)
(format "var " name " = " (definition name) ";\n"))
-(syntax: (runtime-implementation-name [runtime-name s.local-symbol])
+(syntax: (runtime-implementation-name {runtime-name s.local-symbol})
(wrap (list (code.local-symbol (format "__" runtime-name)))))
(template: (runtime: <lux-name> <js-name> <js-definition>)
@@ -911,7 +911,7 @@
(def: #export artifact Text (format prefix ".js"))
(def: #export translate
- (Meta (Process Unit))
+ (Meta (Process Top))
(do macro.Monad<Meta>
[_ //.init-module-buffer
_ (//.save-js runtime)]
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 7bcd8e112..e15e4379a 100644
--- a/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/js/statement.jvm.lux
@@ -11,7 +11,7 @@
[".T" eval]))
(def: #export (translate-def name expressionT expressionJS metaV)
- (-> Text Type Expression Code (Meta Unit))
+ (-> Text Type Expression Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
diff --git a/new-luxc/source/luxc/lang/translation/jvm/common.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/common.jvm.lux
index 579eb565c..524433214 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/common.jvm.lux
@@ -7,7 +7,7 @@
(data ["e" error #+ Error]
[text "text/" Hash<Text>]
text/format
- (coll [dict #+ Dict]))
+ (coll (dictionary ["dict" unordered #+ Dict])))
[macro]
[host]
(world [blob #+ Blob]
@@ -66,13 +66,13 @@
(case (action (update@ #.host
(|>> (:! Host)
(set@ #artifacts (dict.new text.Hash<Text>))
- (:! Void))
+ (:! Bottom))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #artifacts (|> (get@ #.host compiler) (:! Host) (get@ #artifacts)))
- (:! Void))
+ (:! Bottom))
compiler')
[(|> compiler' (get@ #.host) (:! Host) (get@ #artifacts))
output]])
@@ -81,19 +81,19 @@
(#e.Error error))))
(def: #export (record-artifact name content)
- (-> Text Blob (Meta Unit))
+ (-> Text Blob (Meta Top))
(function (_ compiler)
(if (|> compiler (get@ #.host) (:! Host) (get@ #artifacts) (dict.contains? name))
(ex.throw Cannot-Overwrite-Artifact name)
(#e.Success [(update@ #.host
(|>> (:! Host)
(update@ #artifacts (dict.put name content))
- (:! Void))
+ (:! Bottom))
compiler)
[]]))))
(def: #export (store-class name byte-code)
- (-> Text Bytecode (Meta Unit))
+ (-> Text Bytecode (Meta Top))
(function (_ compiler)
(let [store (|> (get@ #.host compiler)
(:! Host)
diff --git a/new-luxc/source/luxc/lang/translation/jvm/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/procedure.jvm.lux
index 3f852d832..49c91204a 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/procedure.jvm.lux
@@ -4,7 +4,7 @@
["ex" exception #+ exception:])
(data [maybe]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang (host ["$" jvm])
["ls" synthesis]))
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 158d4c788..9764045e7 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
@@ -7,7 +7,7 @@
[text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -46,7 +46,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 $.Inst) $.Inst))
@@ -81,7 +81,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/jvm/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/procedure/host.jvm.lux
index f8461be45..f6a0069f5 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/procedure/host.jvm.lux
@@ -9,7 +9,7 @@
(text format
["l" lexer])
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>]
(macro [code]
["s" syntax #+ syntax:])
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 26aaaa8e9..4400c1e90 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/statement.jvm.lux
@@ -37,7 +37,7 @@
(getField [String] #try Field))
(def: #export (translate-def def-name valueT valueI metaV)
- (-> Text Type $.Inst Code (Meta Unit))
+ (-> Text Type $.Inst Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module def-name]]]
@@ -93,7 +93,7 @@
(commonT.record-artifact (format bytecode-name ".class") bytecode)))))
(def: #export (translate-program programI)
- (-> $.Inst (Meta Unit))
+ (-> $.Inst (Meta Top))
(let [nilI runtimeT.noneI
num-inputsI (|>> ($i.ALOAD +0) $i.ARRAYLENGTH)
decI (|>> ($i.int 1) $i.ISUB)
diff --git a/new-luxc/source/luxc/lang/translation/lua.lux b/new-luxc/source/luxc/lang/translation/lua.lux
index fdd66af81..5d25fb864 100644
--- a/new-luxc/source/luxc/lang/translation/lua.lux
+++ b/new-luxc/source/luxc/lang/translation/lua.lux
@@ -104,12 +104,12 @@
(def: #export lua-module-name Text "module.lua")
(def: #export init-module-buffer
- (Meta Unit)
+ (Meta Top)
(function (_ compiler)
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #module-buffer (#.Some (StringBuilder::new [])))
- (:! Void))
+ (:! Bottom))
compiler)
[]])))
@@ -120,13 +120,13 @@
[old-name old-sub] (get@ #context old)
new-name (format old-name "___" (%i (nat-to-int old-sub)))]
(case (expr (set@ #.host
- (:! Void (set@ #context [new-name +0] old))
+ (:! Bottom (set@ #context [new-name +0] old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #context [old-name (n/inc old-sub)])
- (:! Void))
+ (:! Bottom))
compiler')
[new-name output]])
@@ -148,13 +148,13 @@
(function (_ compiler)
(let [old (:! Host (get@ #.host compiler))]
(case (expr (set@ #.host
- (:! Void (set@ #anchor (#.Some anchor) old))
+ (:! Bottom (set@ #anchor (#.Some anchor) old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #anchor (get@ #anchor old))
- (:! Void))
+ (:! Bottom))
compiler')
output])
@@ -187,7 +187,7 @@
(#e.Success [compiler (|> compiler (get@ #.host) (:! Host) (get@ #program-buffer))])))
(def: (execute code)
- (-> Expression (Meta Unit))
+ (-> Expression (Meta Top))
(function (_ compiler)
(let [interpreter (|> compiler (get@ #.host) (:! Host) (get@ #interpreter))]
(case (interpreter code)
@@ -201,14 +201,14 @@
(def: #export variant-flag-field "_lux_flag")
(def: #export variant-value-field "_lux_value")
-(def: #export unit Text "\u0000")
+(def: #export unit Text "")
(def: #export (definition-name [module name])
(-> Ident Text)
(lang.normalize-name (format module "$" name)))
(def: #export (save code)
- (-> Lua (Meta Unit))
+ (-> Lua (Meta Top))
(do macro.Monad<Meta>
[module-buffer module-buffer
#let [_ (Appendable::append [(:! CharSequence code)]
@@ -216,7 +216,7 @@
(execute code)))
(def: #export (save-module! target)
- (-> File (Meta (Process Unit)))
+ (-> File (Meta (Process Top)))
(do macro.Monad<Meta>
[module macro.current-module-name
module-buffer module-buffer
diff --git a/new-luxc/source/luxc/lang/translation/lua/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/procedure.jvm.lux
index 9b5cb6475..eaffddfa0 100644
--- a/new-luxc/source/luxc/lang/translation/lua/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/lua/procedure.jvm.lux
@@ -4,7 +4,7 @@
["ex" exception #+ exception:])
(data [maybe]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang ["ls" synthesis]
(host [lua #+ Lua Expression Statement])))
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 9d0e22f78..91906d899 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
@@ -7,7 +7,7 @@
[text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -32,7 +32,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 Expression) Expression))
@@ -60,7 +60,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux
index 85af96ec9..2271d354a 100644
--- a/new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/lua/procedure/host.jvm.lux
@@ -4,7 +4,7 @@
(data [text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>])
(luxc ["&" lang]
(lang ["la" analysis]
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 12a0fe6a5..e0b037bf5 100644
--- a/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/lua/runtime.jvm.lux
@@ -55,7 +55,7 @@
(p.either (p.seq s.local-symbol (p/wrap (list)))
(s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
-(syntax: (runtime: [[name args] declaration]
+(syntax: (runtime: {[name args] declaration}
definition)
(let [implementation (code.local-symbol (format "@@" name))
runtime (code.text (format "__" prefix "__" (lang.normalize-name name)))
@@ -489,7 +489,7 @@
(def: #export artifact Text (format prefix ".lua"))
(def: #export translate
- (Meta (Process Unit))
+ (Meta (Process Top))
(do macro.Monad<Meta>
[_ //.init-module-buffer
_ (//.save runtime)]
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 eb181d160..ee0725014 100644
--- a/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/lua/statement.jvm.lux
@@ -11,7 +11,7 @@
[".T" eval]))
(def: #export (translate-def name expressionT expressionO metaV)
- (-> Text Type Expression Code (Meta Unit))
+ (-> Text Type Expression Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
diff --git a/new-luxc/source/luxc/lang/translation/php.lux b/new-luxc/source/luxc/lang/translation/php.lux
index eeaa95309..8cbcaad3a 100644
--- a/new-luxc/source/luxc/lang/translation/php.lux
+++ b/new-luxc/source/luxc/lang/translation/php.lux
@@ -54,7 +54,7 @@
(type: #export Host
{#context [Text Nat]
#anchor (Maybe Anchor)
- #loader (-> Statement (Error Unit))
+ #loader (-> Statement (Error Top))
#interpreter (-> Expression (Error Object))
#module-buffer (Maybe StringBuilder)
#program-buffer StringBuilder})
@@ -77,12 +77,12 @@
(def: #export module-name Text (format "module" extension))
(def: #export init-module-buffer
- (Meta Unit)
+ (Meta Top)
(function (_ compiler)
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #module-buffer (#.Some (StringBuilder::new [])))
- (:! Void))
+ (:! Bottom))
compiler)
[]])))
@@ -93,13 +93,13 @@
[old-name old-sub] (get@ #context old)
new-name (format old-name "___" (%i (nat-to-int old-sub)))]
(case (expr (set@ #.host
- (:! Void (set@ #context [new-name +0] old))
+ (:! Bottom (set@ #context [new-name +0] old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #context [old-name (n/inc old-sub)])
- (:! Void))
+ (:! Bottom))
compiler')
[new-name output]])
@@ -121,13 +121,13 @@
(function (_ compiler)
(let [old (:! Host (get@ #.host compiler))]
(case (expr (set@ #.host
- (:! Void (set@ #anchor (#.Some anchor) old))
+ (:! Bottom (set@ #anchor (#.Some anchor) old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #anchor (get@ #anchor old))
- (:! Void))
+ (:! Bottom))
compiler')
output])
@@ -171,7 +171,7 @@
(#e.Success output)
(#e.Success [compiler output])))))]
- [load! #loader Statement Unit]
+ [load! #loader Statement Top]
[interpret #interpreter Expression Object]
)
@@ -186,7 +186,7 @@
(lang.normalize-name (format module "$" name)))
(def: #export (save code)
- (-> Statement (Meta Unit))
+ (-> Statement (Meta Top))
(do macro.Monad<Meta>
[module-buffer module-buffer
#let [_ (Appendable::append [(:! CharSequence (_.code code))]
@@ -194,7 +194,7 @@
(load! code)))
(def: #export (save-module! target)
- (-> File (Meta (Process Unit)))
+ (-> File (Meta (Process Top)))
(do macro.Monad<Meta>
[module macro.current-module-name
module-buffer module-buffer
diff --git a/new-luxc/source/luxc/lang/translation/php/case.jvm.lux b/new-luxc/source/luxc/lang/translation/php/case.jvm.lux
index 0868811e7..0cfd66729 100644
--- a/new-luxc/source/luxc/lang/translation/php/case.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/case.jvm.lux
@@ -6,7 +6,7 @@
[text]
text/format
(coll [list "list/" Functor<List> Fold<List>]
- [set #+ Set]))
+ (set ["set" unordered #+ Set])))
[macro #+ "meta/" Monad<Meta>]
(macro [code]))
(luxc [lang]
diff --git a/new-luxc/source/luxc/lang/translation/php/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/php/procedure.jvm.lux
index 9748167ca..ab73cddee 100644
--- a/new-luxc/source/luxc/lang/translation/php/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/procedure.jvm.lux
@@ -5,7 +5,7 @@
(data [maybe]
[text]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang ["ls" synthesis]
(host ["_" php #+ Expression Statement])))
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 384a88056..bcbea37cf 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
@@ -8,7 +8,7 @@
text/format
[number]
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -33,7 +33,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 Expression) Expression))
@@ -61,7 +61,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/php/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/php/procedure/host.jvm.lux
index c1b43da2f..af82491b6 100644
--- a/new-luxc/source/luxc/lang/translation/php/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/procedure/host.jvm.lux
@@ -4,7 +4,7 @@
(data [text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>])
(luxc ["&" lang]
(lang ["la" analysis]
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 fe02cf2fc..66827025e 100644
--- a/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux
@@ -57,7 +57,7 @@
(p.either (p.seq s.local-symbol (p/wrap (list)))
(s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
-(syntax: (runtime: [[name args] declaration]
+(syntax: (runtime: {[name args] declaration}
definition)
(let [implementation (code.local-symbol (format "@@" name))
runtime (format "__" prefix "__" (lang.normalize-name name))
@@ -87,7 +87,7 @@
((~! 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-symbol))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
@@ -433,7 +433,7 @@
(def: #export artifact Text (format prefix //.extension))
(def: #export translate
- (Meta (Process Unit))
+ (Meta (Process Top))
(do macro.Monad<Meta>
[_ //.init-module-buffer
_ (//.save runtime)]
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 592e579cf..afbf7e476 100644
--- a/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/php/statement.jvm.lux
@@ -11,7 +11,7 @@
[".T" eval]))
(def: #export (translate-def name expressionT expressionO metaV)
- (-> Text Type Expression Code (Meta Unit))
+ (-> Text Type Expression Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
diff --git a/new-luxc/source/luxc/lang/translation/python.lux b/new-luxc/source/luxc/lang/translation/python.lux
index 77df53332..8739c278d 100644
--- a/new-luxc/source/luxc/lang/translation/python.lux
+++ b/new-luxc/source/luxc/lang/translation/python.lux
@@ -54,7 +54,7 @@
(type: #export Host
{#context [Text Nat]
#anchor (Maybe Anchor)
- #loader (-> Statement (Error Unit))
+ #loader (-> Statement (Error Top))
#interpreter (-> Expression (Error PyObject))
#module-buffer (Maybe StringBuilder)
#program-buffer StringBuilder})
@@ -74,12 +74,12 @@
(def: #export python-module-name Text "module.py")
(def: #export init-module-buffer
- (Meta Unit)
+ (Meta Top)
(function (_ compiler)
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #module-buffer (#.Some (StringBuilder::new [])))
- (:! Void))
+ (:! Bottom))
compiler)
[]])))
@@ -90,13 +90,13 @@
[old-name old-sub] (get@ #context old)
new-name (format old-name "___" (%i (nat-to-int old-sub)))]
(case (expr (set@ #.host
- (:! Void (set@ #context [new-name +0] old))
+ (:! Bottom (set@ #context [new-name +0] old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #context [old-name (n/inc old-sub)])
- (:! Void))
+ (:! Bottom))
compiler')
[new-name output]])
@@ -118,13 +118,13 @@
(function (_ compiler)
(let [old (:! Host (get@ #.host compiler))]
(case (expr (set@ #.host
- (:! Void (set@ #anchor (#.Some anchor) old))
+ (:! Bottom (set@ #anchor (#.Some anchor) old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #anchor (get@ #anchor old))
- (:! Void))
+ (:! Bottom))
compiler')
output])
@@ -168,7 +168,7 @@
(#e.Success output)
(#e.Success [compiler output])))))]
- [load! #loader Statement Unit]
+ [load! #loader Statement Top]
[interpret #interpreter Expression PyObject]
)
@@ -191,12 +191,12 @@
module-buffer)]]
(<eval> code)))]
- [save load! python.statement Statement Unit]
+ [save load! python.statement Statement Top]
[run interpret python.expression Expression PyObject]
)
(def: #export (save-module! target)
- (-> File (Meta (Process Unit)))
+ (-> File (Meta (Process Top)))
(do macro.Monad<Meta>
[module macro.current-module-name
module-buffer module-buffer
diff --git a/new-luxc/source/luxc/lang/translation/python/case.jvm.lux b/new-luxc/source/luxc/lang/translation/python/case.jvm.lux
index 6769103d9..2c32b26a6 100644
--- a/new-luxc/source/luxc/lang/translation/python/case.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/case.jvm.lux
@@ -6,7 +6,7 @@
[text]
text/format
(coll [list "list/" Functor<List> Fold<List>]
- [set #+ Set]))
+ (set ["set" unordered #+ Set])))
[macro #+ "meta/" Monad<Meta>]
(macro [code]))
(luxc [lang]
diff --git a/new-luxc/source/luxc/lang/translation/python/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/python/procedure.jvm.lux
index 699c0c000..f793a0165 100644
--- a/new-luxc/source/luxc/lang/translation/python/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/procedure.jvm.lux
@@ -4,7 +4,7 @@
["ex" exception #+ exception:])
(data [maybe]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang ["ls" synthesis]
(host [python #+ Expression Statement])))
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 badca2d74..24e4197d1 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
@@ -8,7 +8,7 @@
text/format
[number]
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -33,7 +33,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 Expression) Expression))
@@ -61,7 +61,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/python/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/python/procedure/host.jvm.lux
index c1b43da2f..af82491b6 100644
--- a/new-luxc/source/luxc/lang/translation/python/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/procedure/host.jvm.lux
@@ -4,7 +4,7 @@
(data [text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>])
(luxc ["&" lang]
(lang ["la" analysis]
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 6319c2121..5d0ea9186 100644
--- a/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux
@@ -57,7 +57,7 @@
(p.either (p.seq s.local-symbol (p/wrap (list)))
(s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
-(syntax: (runtime: [[name args] declaration]
+(syntax: (runtime: {[name args] declaration}
definition)
(let [implementation (code.local-symbol (format "@@" name))
runtime (format "__" prefix "__" (lang.normalize-name name))
@@ -88,7 +88,7 @@
(list (~+ argsLC+))
(~ definition))))))))))))
-(syntax: (with-vars [vars (s.tuple (p.many s.local-symbol))]
+(syntax: (with-vars {vars (s.tuple (p.many s.local-symbol))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
@@ -576,7 +576,7 @@
(def: #export artifact Text (format prefix ".py"))
(def: #export translate
- (Meta (Process Unit))
+ (Meta (Process Top))
(do macro.Monad<Meta>
[_ //.init-module-buffer
_ (//.save runtime)]
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 36fe472d3..b267f5a64 100644
--- a/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/python/statement.jvm.lux
@@ -11,7 +11,7 @@
[".T" eval]))
(def: #export (translate-def name expressionT expressionO metaV)
- (-> Text Type Expression Code (Meta Unit))
+ (-> Text Type Expression Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
diff --git a/new-luxc/source/luxc/lang/translation/r.lux b/new-luxc/source/luxc/lang/translation/r.lux
index 446df095d..410e167bc 100644
--- a/new-luxc/source/luxc/lang/translation/r.lux
+++ b/new-luxc/source/luxc/lang/translation/r.lux
@@ -56,7 +56,7 @@
(type: #export Host
{#context [Text Nat]
#anchor (Maybe Anchor)
- #loader (-> Expression (Error Unit))
+ #loader (-> Expression (Error Top))
#interpreter (-> Expression (Error Object))
#module-buffer (Maybe StringBuilder)
#program-buffer StringBuilder})
@@ -82,12 +82,12 @@
(def: #export r-module-name Text "module.r")
(def: #export init-module-buffer
- (Meta Unit)
+ (Meta Top)
(function (_ compiler)
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #module-buffer (#.Some (StringBuilder::new [])))
- (:! Void))
+ (:! Bottom))
compiler)
[]])))
@@ -98,13 +98,13 @@
[old-name old-sub] (get@ #context old)
new-name (format old-name "f___" (%i (nat-to-int old-sub)))]
(case (expr (set@ #.host
- (:! Void (set@ #context [new-name +0] old))
+ (:! Bottom (set@ #context [new-name +0] old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #context [old-name (n/inc old-sub)])
- (:! Void))
+ (:! Bottom))
compiler')
[new-name output]])
@@ -126,13 +126,13 @@
(function (_ compiler)
(let [old (:! Host (get@ #.host compiler))]
(case (expr (set@ #.host
- (:! Void (set@ #anchor (#.Some anchor) old))
+ (:! Bottom (set@ #anchor (#.Some anchor) old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #anchor (get@ #anchor old))
- (:! Void))
+ (:! Bottom))
compiler')
output])
@@ -176,7 +176,7 @@
(#e.Success output)
(#e.Success [compiler output])))))]
- [load! #loader Unit]
+ [load! #loader Top]
[interpret #interpreter Object]
)
@@ -194,7 +194,7 @@
(lang.normalize-name (format module "$" name)))
(def: #export (save code)
- (-> Expression (Meta Unit))
+ (-> Expression (Meta Top))
(do macro.Monad<Meta>
[module-buffer module-buffer
#let [_ (Appendable::append [(:! CharSequence (r.expression code))]
@@ -204,7 +204,7 @@
(def: #export run interpret)
(def: #export (save-module! target)
- (-> File (Meta (Process Unit)))
+ (-> File (Meta (Process Top)))
(do macro.Monad<Meta>
[module macro.current-module-name
module-buffer module-buffer
diff --git a/new-luxc/source/luxc/lang/translation/r/case.jvm.lux b/new-luxc/source/luxc/lang/translation/r/case.jvm.lux
index 8a61f0263..21d8f1def 100644
--- a/new-luxc/source/luxc/lang/translation/r/case.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/case.jvm.lux
@@ -6,7 +6,7 @@
[text]
text/format
(coll [list "list/" Functor<List> Fold<List>]
- [set #+ Set]))
+ (set ["set" unordered #+ Set])))
[macro #+ "meta/" Monad<Meta>]
(macro [code]))
(luxc [lang]
diff --git a/new-luxc/source/luxc/lang/translation/r/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/r/procedure.jvm.lux
index 0cb14d379..468d09523 100644
--- a/new-luxc/source/luxc/lang/translation/r/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/procedure.jvm.lux
@@ -4,7 +4,7 @@
["ex" exception #+ exception:])
(data [maybe]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang ["ls" synthesis]
(host [r #+ Expression])))
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 bc2289f6a..f190f88ed 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
@@ -8,7 +8,7 @@
text/format
[number]
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -33,7 +33,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 Expression) Expression))
@@ -61,7 +61,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux
index c1b43da2f..af82491b6 100644
--- a/new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux
@@ -4,7 +4,7 @@
(data [text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>])
(luxc ["&" lang]
(lang ["la" analysis]
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 30eaf2a77..7183815c7 100644
--- a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
@@ -85,7 +85,7 @@
(p.either (p.seq s.local-symbol (p/wrap (list)))
(s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
-(syntax: (runtime: [[name args] declaration]
+(syntax: (runtime: {[name args] declaration}
definition)
(let [implementation (code.local-symbol (format "@@" name))
runtime (format prefix "__" (lang.normalize-name name))
@@ -121,7 +121,7 @@
(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-symbol))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
@@ -1049,7 +1049,7 @@
(def: #export artifact Text (format prefix ".r"))
(def: #export translate
- (Meta (Process Unit))
+ (Meta (Process Top))
(do macro.Monad<Meta>
[_ //.init-module-buffer
_ (//.save runtime)]
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 04a31d687..7ff6a23e8 100644
--- a/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux
@@ -11,7 +11,7 @@
[".T" eval]))
(def: #export (translate-def name expressionT expressionO metaV)
- (-> Text Type Expression Code (Meta Unit))
+ (-> Text Type Expression Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
diff --git a/new-luxc/source/luxc/lang/translation/ruby.lux b/new-luxc/source/luxc/lang/translation/ruby.lux
index e405b2b4f..16b0813d5 100644
--- a/new-luxc/source/luxc/lang/translation/ruby.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby.lux
@@ -68,12 +68,12 @@
(def: #export ruby-module-name Text "module.rb")
(def: #export init-module-buffer
- (Meta Unit)
+ (Meta Top)
(function (_ compiler)
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #module-buffer (#.Some (StringBuilder::new [])))
- (:! Void))
+ (:! Bottom))
compiler)
[]])))
@@ -84,13 +84,13 @@
[old-name old-sub] (get@ #context old)
new-name (format old-name "___" (%i (nat-to-int old-sub)))]
(case (expr (set@ #.host
- (:! Void (set@ #context [new-name +0] old))
+ (:! Bottom (set@ #context [new-name +0] old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #context [old-name (n/inc old-sub)])
- (:! Void))
+ (:! Bottom))
compiler')
[new-name output]])
@@ -112,13 +112,13 @@
(function (_ compiler)
(let [old (:! Host (get@ #.host compiler))]
(case (expr (set@ #.host
- (:! Void (set@ #anchor (#.Some anchor) old))
+ (:! Bottom (set@ #anchor (#.Some anchor) old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #anchor (get@ #anchor old))
- (:! Void))
+ (:! Bottom))
compiler')
output])
@@ -151,7 +151,7 @@
(#e.Success [compiler (|> compiler (get@ #.host) (:! Host) (get@ #program-buffer))])))
(def: (execute code)
- (-> Expression (Meta Unit))
+ (-> Expression (Meta Top))
(function (_ compiler)
(let [interpreter (|> compiler (get@ #.host) (:! Host) (get@ #interpreter))]
(case (interpreter code)
@@ -165,14 +165,14 @@
(def: #export variant-flag-field "_lux_flag")
(def: #export variant-value-field "_lux_value")
-(def: #export unit Text "\u0000")
+(def: #export unit Text "")
(def: #export (definition-name [module name])
(-> Ident Text)
(lang.normalize-name (format module "$" name)))
(def: #export (save code)
- (-> Ruby (Meta Unit))
+ (-> Ruby (Meta Top))
(do macro.Monad<Meta>
[module-buffer module-buffer
#let [_ (Appendable::append [(:! CharSequence code)]
@@ -180,7 +180,7 @@
(execute code)))
(def: #export (save-module! target)
- (-> File (Meta (Process Unit)))
+ (-> File (Meta (Process Top)))
(do macro.Monad<Meta>
[module macro.current-module-name
module-buffer module-buffer
diff --git a/new-luxc/source/luxc/lang/translation/ruby/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/procedure.jvm.lux
index 0bda70ad9..036a68d0c 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/procedure.jvm.lux
@@ -4,7 +4,7 @@
["ex" exception #+ exception:])
(data [maybe]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang ["ls" synthesis]
(host [ruby #+ Ruby Expression Statement])))
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 39c1f561d..8e58c06d4 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
@@ -7,7 +7,7 @@
[text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -32,7 +32,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 Expression) Expression))
@@ -60,7 +60,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/ruby/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/procedure/host.jvm.lux
index c1b43da2f..af82491b6 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/procedure/host.jvm.lux
@@ -4,7 +4,7 @@
(data [text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>])
(luxc ["&" lang]
(lang ["la" analysis]
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 9e6383ce4..1e1e4c53a 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
@@ -55,7 +55,7 @@
(p.either (p.seq s.local-symbol (p/wrap (list)))
(s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
-(syntax: (runtime: [[name args] declaration]
+(syntax: (runtime: {[name args] declaration}
definition)
(let [implementation (code.local-symbol (format "@@" name))
runtime (code.text (format "__" prefix "__" (lang.normalize-name name)))
@@ -378,7 +378,7 @@
(def: #export artifact Text (format prefix ".rb"))
(def: #export translate
- (Meta (Process Unit))
+ (Meta (Process Top))
(do macro.Monad<Meta>
[_ //.init-module-buffer
_ (//.save runtime)]
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 5f2cdef06..972a6428e 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/statement.jvm.lux
@@ -11,7 +11,7 @@
[".T" eval]))
(def: #export (translate-def name expressionT expressionO metaV)
- (-> Text Type Expression Code (Meta Unit))
+ (-> Text Type Expression Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]
diff --git a/new-luxc/source/luxc/lang/translation/scheme.lux b/new-luxc/source/luxc/lang/translation/scheme.lux
index c32890a84..451d5f8e2 100644
--- a/new-luxc/source/luxc/lang/translation/scheme.lux
+++ b/new-luxc/source/luxc/lang/translation/scheme.lux
@@ -55,7 +55,7 @@
(type: #export Host
{#context [Text Nat]
#anchor (Maybe Anchor)
- #loader (-> Expression (Error Unit))
+ #loader (-> Expression (Error Top))
#interpreter (-> Expression (Error Object))
#module-buffer (Maybe StringBuilder)
#program-buffer StringBuilder})
@@ -82,12 +82,12 @@
(def: #export r-module-name Text (format "module" file-extension))
(def: #export init-module-buffer
- (Meta Unit)
+ (Meta Top)
(function (_ compiler)
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #module-buffer (#.Some (StringBuilder::new [])))
- (:! Void))
+ (:! Bottom))
compiler)
[]])))
@@ -98,13 +98,13 @@
[old-name old-sub] (get@ #context old)
new-name (format old-name "f___" (%i (nat-to-int old-sub)))]
(case (expr (set@ #.host
- (:! Void (set@ #context [new-name +0] old))
+ (:! Bottom (set@ #context [new-name +0] old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #context [old-name (n/inc old-sub)])
- (:! Void))
+ (:! Bottom))
compiler')
[new-name output]])
@@ -126,13 +126,13 @@
(function (_ compiler)
(let [old (:! Host (get@ #.host compiler))]
(case (expr (set@ #.host
- (:! Void (set@ #anchor (#.Some anchor) old))
+ (:! Bottom (set@ #anchor (#.Some anchor) old))
compiler))
(#e.Success [compiler' output])
(#e.Success [(update@ #.host
(|>> (:! Host)
(set@ #anchor (get@ #anchor old))
- (:! Void))
+ (:! Bottom))
compiler')
output])
@@ -176,7 +176,7 @@
(#e.Success output)
(#e.Success [compiler output])))))]
- [load! #loader Unit]
+ [load! #loader Top]
[interpret #interpreter Object]
)
@@ -189,7 +189,7 @@
(lang.normalize-name (format module "$" name)))
(def: #export (save code)
- (-> Expression (Meta Unit))
+ (-> Expression (Meta Top))
(do macro.Monad<Meta>
[module-buffer module-buffer
#let [_ (Appendable::append [(:! CharSequence (scheme.expression code))]
@@ -199,7 +199,7 @@
(def: #export run interpret)
(def: #export (save-module! target)
- (-> File (Meta (Process Unit)))
+ (-> File (Meta (Process Top)))
(do macro.Monad<Meta>
[module macro.current-module-name
module-buffer module-buffer
diff --git a/new-luxc/source/luxc/lang/translation/scheme/case.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/case.jvm.lux
index 0d67848c7..91ad5140d 100644
--- a/new-luxc/source/luxc/lang/translation/scheme/case.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/scheme/case.jvm.lux
@@ -6,7 +6,7 @@
[text]
text/format
(coll [list "list/" Functor<List> Fold<List>]
- [set #+ Set]))
+ (set ["set" unordered #+ Set])))
[macro #+ "meta/" Monad<Meta>]
(macro [code]))
(luxc [lang]
diff --git a/new-luxc/source/luxc/lang/translation/scheme/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/procedure.jvm.lux
index 0876e9b19..8247baa0c 100644
--- a/new-luxc/source/luxc/lang/translation/scheme/procedure.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/scheme/procedure.jvm.lux
@@ -4,7 +4,7 @@
["ex" exception #+ exception:])
(data [maybe]
text/format
- (coll [dict])))
+ (coll (dictionary ["dict" unordered #+ Dict]))))
(luxc ["&" lang]
(lang ["ls" synthesis]
(host ["_" scheme #+ Expression])))
diff --git a/new-luxc/source/luxc/lang/translation/scheme/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/procedure/common.jvm.lux
index f6a468f76..5d8e2ac66 100644
--- a/new-luxc/source/luxc/lang/translation/scheme/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/scheme/procedure/common.jvm.lux
@@ -8,7 +8,7 @@
text/format
[number #+ hex]
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro #+ with-gensyms]
(macro [code]
["s" syntax #+ syntax:])
@@ -33,7 +33,7 @@
(type: #export Bundle
(Dict Text Proc))
-(syntax: (Vector [size s.nat] elemT)
+(syntax: (Vector {size s.nat} elemT)
(wrap (list (` [(~+ (list.repeat size elemT))]))))
(type: #export Nullary (-> (Vector +0 Expression) Expression))
@@ -61,7 +61,7 @@
"Expected: " (|> expected nat-to-int %i) "\n"
" Actual: " (|> actual nat-to-int %i)))
-(syntax: (arity: [name s.local-symbol] [arity s.nat])
+(syntax: (arity: {name s.local-symbol} {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")))]
diff --git a/new-luxc/source/luxc/lang/translation/scheme/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/procedure/host.jvm.lux
index c1b43da2f..af82491b6 100644
--- a/new-luxc/source/luxc/lang/translation/scheme/procedure/host.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/scheme/procedure/host.jvm.lux
@@ -4,7 +4,7 @@
(data [text]
text/format
(coll [list "list/" Functor<List>]
- [dict #+ Dict]))
+ (dictionary ["dict" unordered #+ Dict])))
[macro "macro/" Monad<Meta>])
(luxc ["&" lang]
(lang ["la" analysis]
diff --git a/new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux
index 585c80c86..816f92389 100644
--- a/new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/scheme/runtime.jvm.lux
@@ -58,7 +58,7 @@
(p.either (p.seq s.local-symbol (p/wrap (list)))
(s.form (p.seq s.local-symbol (p.some s.local-symbol)))))
-(syntax: (runtime: [[name args] declaration]
+(syntax: (runtime: {[name args] declaration}
definition)
(let [implementation (code.local-symbol (format "@@" name))
runtime (format prefix "__" (lang.normalize-name name))
@@ -107,7 +107,7 @@
(_.cdr (@@ 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-symbol))}
body)
(wrap (list (` (let [(~+ (|> vars
(list/map (function (_ var)
@@ -418,7 +418,7 @@
(def: #export artifact Text (format prefix //.file-extension))
(def: #export translate
- (Meta (Process Unit))
+ (Meta (Process Top))
(do macro.Monad<Meta>
[_ //.init-module-buffer
_ (//.save runtime)]
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 c9611cd2b..6fdb4073a 100644
--- a/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/scheme/statement.jvm.lux
@@ -11,7 +11,7 @@
[".T" eval]))
(def: #export (translate-def name expressionT expressionO metaV)
- (-> Text Type Expression Code (Meta Unit))
+ (-> Text Type Expression Code (Meta Top))
(do macro.Monad<Meta>
[current-module macro.current-module-name
#let [def-ident [current-module name]]]