diff options
author | Eduardo Julian | 2017-11-15 19:51:33 -0400 |
---|---|---|
committer | Eduardo Julian | 2017-11-15 19:51:33 -0400 |
commit | 296d087530cb142efec1dea159770346bb43c3c0 (patch) | |
tree | bde43594e5df48af539a0fda3e13cbf6aa36b557 /new-luxc/source/luxc | |
parent | c4e928e5805054aa12da40baaeccbb9c522b52d0 (diff) |
- Heavy refactoring.
Diffstat (limited to 'new-luxc/source/luxc')
40 files changed, 154 insertions, 160 deletions
diff --git a/new-luxc/source/luxc/io.jvm.lux b/new-luxc/source/luxc/io.jvm.lux index 599fde359..a4049de3a 100644 --- a/new-luxc/source/luxc/io.jvm.lux +++ b/new-luxc/source/luxc/io.jvm.lux @@ -11,8 +11,7 @@ [meta] [host] (world [file #+ File] - [blob #+ Blob])) - (luxc ["&" base])) + [blob #+ Blob]))) (host;import java.lang.String (new [(Array byte)])) diff --git a/new-luxc/source/luxc/base.lux b/new-luxc/source/luxc/lang.lux index 373c6b12b..373c6b12b 100644 --- a/new-luxc/source/luxc/base.lux +++ b/new-luxc/source/luxc/lang.lux diff --git a/new-luxc/source/luxc/lang/analysis/case.lux b/new-luxc/source/luxc/lang/analysis/case.lux index ee4d4fcfa..ff328b9de 100644 --- a/new-luxc/source/luxc/lang/analysis/case.lux +++ b/new-luxc/source/luxc/lang/analysis/case.lux @@ -15,12 +15,12 @@ (meta [code] [type] (type ["tc" check]))) - (luxc ["&" base] - (lang ["la" analysis] + (luxc ["&" lang] + (lang ["&;" scope] + ["la" analysis] (analysis [";A" common] [";A" structure] - (case [";A" coverage]))) - ["&;" scope])) + (case [";A" coverage]))))) (exception: #export Cannot-Match-Type-With-Pattern) (exception: #export Sum-Type-Has-No-Case) diff --git a/new-luxc/source/luxc/lang/analysis/case/coverage.lux b/new-luxc/source/luxc/lang/analysis/case/coverage.lux index 554aea1a8..c41cfb2a4 100644 --- a/new-luxc/source/luxc/lang/analysis/case/coverage.lux +++ b/new-luxc/source/luxc/lang/analysis/case/coverage.lux @@ -10,7 +10,7 @@ (coll [list "list/" Fold<List>] [dict #+ Dict])) [meta "meta/" Monad<Meta>]) - (luxc ["&" base] + (luxc ["&" lang] (lang ["la" analysis]))) ## The coverage of a pattern-matching expression summarizes how well diff --git a/new-luxc/source/luxc/lang/analysis/common.lux b/new-luxc/source/luxc/lang/analysis/common.lux index 968ebd2ea..5e618d64c 100644 --- a/new-luxc/source/luxc/lang/analysis/common.lux +++ b/new-luxc/source/luxc/lang/analysis/common.lux @@ -7,7 +7,7 @@ [meta] (meta [type] (type ["tc" check]))) - (luxc ["&" base] + (luxc ["&" lang] (lang analysis))) (def: #export (with-unknown-type action) diff --git a/new-luxc/source/luxc/lang/analysis/expression.lux b/new-luxc/source/luxc/lang/analysis/expression.lux index 248248010..afc347248 100644 --- a/new-luxc/source/luxc/lang/analysis/expression.lux +++ b/new-luxc/source/luxc/lang/analysis/expression.lux @@ -9,12 +9,12 @@ (meta [type] (type ["tc" check])) [host]) - (luxc ["&" base] - [";L" host] - (host [";H" macro]) - (lang ["la" analysis] - (translation [";T" common])) - ["&;" module]) + (luxc ["&" lang] + (lang ["&;" module] + [";L" host] + (host [";H" macro]) + ["la" analysis] + (translation [";T" common]))) (.. [";A" common] [";A" function] [";A" primitive] diff --git a/new-luxc/source/luxc/lang/analysis/function.lux b/new-luxc/source/luxc/lang/analysis/function.lux index 6a4a33e48..5403026cb 100644 --- a/new-luxc/source/luxc/lang/analysis/function.lux +++ b/new-luxc/source/luxc/lang/analysis/function.lux @@ -10,12 +10,12 @@ (meta [code] [type] (type ["tc" check]))) - (luxc ["&" base] - (lang ["la" analysis #+ Analysis] + (luxc ["&" lang] + (lang ["&;" scope] + ["la" analysis #+ Analysis] (analysis ["&;" common] ["&;" inference]) - [";L" variable #+ Variable]) - ["&;" scope])) + [";L" variable #+ Variable]))) (exception: #export Invalid-Function-Type) (exception: #export Cannot-Apply-Function) diff --git a/new-luxc/source/luxc/lang/analysis/inference.lux b/new-luxc/source/luxc/lang/analysis/inference.lux index 8b04ac2b7..080a6c620 100644 --- a/new-luxc/source/luxc/lang/analysis/inference.lux +++ b/new-luxc/source/luxc/lang/analysis/inference.lux @@ -9,7 +9,7 @@ [meta "meta/" Monad<Meta>] (meta [type] (type ["tc" check]))) - (luxc ["&" base] + (luxc ["&" lang] (lang ["la" analysis #+ Analysis] (analysis ["&;" common])))) diff --git a/new-luxc/source/luxc/lang/analysis/primitive.lux b/new-luxc/source/luxc/lang/analysis/primitive.lux index bb1762f46..792d607c3 100644 --- a/new-luxc/source/luxc/lang/analysis/primitive.lux +++ b/new-luxc/source/luxc/lang/analysis/primitive.lux @@ -4,7 +4,7 @@ [meta] (meta [code] (type ["tc" check]))) - (luxc ["&" base] + (luxc ["&" lang] (lang ["la" analysis #+ Analysis]))) ## [Analysers] diff --git a/new-luxc/source/luxc/lang/analysis/procedure.lux b/new-luxc/source/luxc/lang/analysis/procedure.lux index 8ab868036..23e1a102d 100644 --- a/new-luxc/source/luxc/lang/analysis/procedure.lux +++ b/new-luxc/source/luxc/lang/analysis/procedure.lux @@ -6,7 +6,7 @@ [text] text/format (coll [dict]))) - (luxc ["&" base] + (luxc ["&" lang] (lang ["la" analysis])) (. ["./;" common] ["./;" host])) diff --git a/new-luxc/source/luxc/lang/analysis/procedure/common.lux b/new-luxc/source/luxc/lang/analysis/procedure/common.lux index f5756f35b..be77e643c 100644 --- a/new-luxc/source/luxc/lang/analysis/procedure/common.lux +++ b/new-luxc/source/luxc/lang/analysis/procedure/common.lux @@ -12,7 +12,7 @@ (meta [code] (type ["tc" check])) [io]) - (luxc ["&" base] + (luxc ["&" lang] (lang ["la" analysis] (analysis ["&;" common] [";A" function] diff --git a/new-luxc/source/luxc/lang/analysis/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/analysis/procedure/host.jvm.lux index cd5fdc7bb..c6a456441 100644 --- a/new-luxc/source/luxc/lang/analysis/procedure/host.jvm.lux +++ b/new-luxc/source/luxc/lang/analysis/procedure/host.jvm.lux @@ -20,9 +20,9 @@ [type] (type ["tc" check])) [host]) - (luxc ["&" base] - ["&;" host] - (lang ["la" analysis] + (luxc ["&" lang] + (lang ["&;" host] + ["la" analysis] (analysis ["&;" common] [";A" inference]))) ["@" ../common] diff --git a/new-luxc/source/luxc/lang/analysis/reference.lux b/new-luxc/source/luxc/lang/analysis/reference.lux index ef02919f4..6ba0325df 100644 --- a/new-luxc/source/luxc/lang/analysis/reference.lux +++ b/new-luxc/source/luxc/lang/analysis/reference.lux @@ -4,10 +4,10 @@ [meta] (meta [code] (type ["tc" check]))) - (luxc ["&" base] - (lang ["la" analysis #+ Analysis] - [";L" variable #+ Variable]) - ["&;" scope])) + (luxc ["&" lang] + (lang ["&;" scope] + ["la" analysis #+ Analysis] + [";L" variable #+ Variable]))) ## [Analysers] (def: (analyse-definition def-name) diff --git a/new-luxc/source/luxc/lang/analysis/structure.lux b/new-luxc/source/luxc/lang/analysis/structure.lux index d2107c640..3048d4a4e 100644 --- a/new-luxc/source/luxc/lang/analysis/structure.lux +++ b/new-luxc/source/luxc/lang/analysis/structure.lux @@ -13,12 +13,12 @@ (meta [code] [type] (type ["tc" check]))) - (luxc ["&" base] - (lang ["la" analysis] + (luxc ["&" lang] + (lang ["&;" scope] + ["&;" module] + ["la" analysis] (analysis ["&;" common] - ["&;" inference])) - ["&;" module] - ["&;" scope])) + ["&;" inference])))) (exception: #export Not-Variant-Type) (exception: #export Not-Tuple-Type) @@ -156,7 +156,7 @@ (do @ [g!tail (meta;gensym "tail")] (&;with-expected-type tailT - (analyse (` ((~' _lux_case) [(~@ tailC)] + (analyse (` ("lux case" [(~@ tailC)] (~ g!tail) (~ g!tail)))))) )))) diff --git a/new-luxc/source/luxc/lang/analysis/type.lux b/new-luxc/source/luxc/lang/analysis/type.lux index 89b25334f..4184dd0c0 100644 --- a/new-luxc/source/luxc/lang/analysis/type.lux +++ b/new-luxc/source/luxc/lang/analysis/type.lux @@ -3,7 +3,7 @@ (lux (control monad) [meta] (meta (type ["tc" check]))) - (luxc ["&" base] + (luxc ["&" lang] (lang ["la" analysis #+ Analysis]))) ## These 2 analysers are somewhat special, since they require the diff --git a/new-luxc/source/luxc/eval.lux b/new-luxc/source/luxc/lang/eval.lux index 6431b59d6..20c3acaeb 100644 --- a/new-luxc/source/luxc/eval.lux +++ b/new-luxc/source/luxc/lang/eval.lux @@ -2,16 +2,16 @@ lux (lux (control [monad #+ do]) [meta]) - (luxc (lang (analysis [";A" expression]) + (luxc ["&" lang] + (lang (analysis [";A" expression]) (synthesis [";S" expression]) (translation [";T" expression] - [";T" eval]))) - [../base]) + [";T" eval])))) (def: #export (eval type exprC) - ../base;Eval + &;Eval (do meta;Monad<Meta> - [exprA (../base;with-expected-type type + [exprA (&;with-expected-type type (expressionA;analyser eval exprC)) #let [exprS (expressionS;synthesize exprA)] exprI (expressionT;translate exprS)] diff --git a/new-luxc/source/luxc/host.jvm.lux b/new-luxc/source/luxc/lang/host.jvm.lux index e8dc4e17a..ae1d29387 100644 --- a/new-luxc/source/luxc/host.jvm.lux +++ b/new-luxc/source/luxc/lang/host.jvm.lux @@ -12,7 +12,7 @@ [meta #+ Monad<Meta>] [host #+ do-to object] [io]) - (luxc ["&" base] + (luxc ["&" lang] (lang [";L" variable #+ Register] (translation [";T" common])))) diff --git a/new-luxc/source/luxc/host/jvm.lux b/new-luxc/source/luxc/lang/host/jvm.lux index 24d4a9ea9..24d4a9ea9 100644 --- a/new-luxc/source/luxc/host/jvm.lux +++ b/new-luxc/source/luxc/lang/host/jvm.lux diff --git a/new-luxc/source/luxc/host/jvm/def.lux b/new-luxc/source/luxc/lang/host/jvm/def.lux index 60009fb5c..60009fb5c 100644 --- a/new-luxc/source/luxc/host/jvm/def.lux +++ b/new-luxc/source/luxc/lang/host/jvm/def.lux diff --git a/new-luxc/source/luxc/host/jvm/inst.lux b/new-luxc/source/luxc/lang/host/jvm/inst.lux index 37ab75020..37ab75020 100644 --- a/new-luxc/source/luxc/host/jvm/inst.lux +++ b/new-luxc/source/luxc/lang/host/jvm/inst.lux diff --git a/new-luxc/source/luxc/host/jvm/type.lux b/new-luxc/source/luxc/lang/host/jvm/type.lux index 3825d443b..3825d443b 100644 --- a/new-luxc/source/luxc/host/jvm/type.lux +++ b/new-luxc/source/luxc/lang/host/jvm/type.lux diff --git a/new-luxc/source/luxc/host/macro.lux b/new-luxc/source/luxc/lang/host/macro.lux index 1a3152222..01f8c3bdb 100644 --- a/new-luxc/source/luxc/host/macro.lux +++ b/new-luxc/source/luxc/lang/host/macro.lux @@ -4,8 +4,8 @@ (data ["e" error]) [meta] [host]) - (luxc [";L" host] - (lang (translation [";T" common])))) + (luxc (lang (translation [";T" common]))) + [..]) (for {"JVM" (as-is (host;import java.lang.reflect.Method (invoke [Object (Array Object)] #try Object)) @@ -23,7 +23,7 @@ (def: #export (expand macro inputs) (-> Macro (List Code) (Meta (List Code))) (do meta;Monad<Meta> - [class (commonT;load-class hostL;function-class)] + [class (commonT;load-class ..;function-class)] (function [compiler] (do e;Monad<Error> [apply-method (Class.getMethod ["apply" _apply-args] class) diff --git a/new-luxc/source/luxc/module.lux b/new-luxc/source/luxc/lang/module.lux index 7b60af8f2..fba337cc3 100644 --- a/new-luxc/source/luxc/module.lux +++ b/new-luxc/source/luxc/lang/module.lux @@ -8,8 +8,8 @@ (coll [list "list/" Fold<List> Functor<List>])) [meta] (meta [code])) - (luxc ["&" base] - ["&;" scope])) + (luxc ["&" lang] + (lang ["&;" scope]))) (exception: #export Unknown-Module) (exception: #export Cannot-Declare-Tag-Twice) diff --git a/new-luxc/source/luxc/scope.lux b/new-luxc/source/luxc/lang/scope.lux index 165399c8f..435b8ef61 100644 --- a/new-luxc/source/luxc/scope.lux +++ b/new-luxc/source/luxc/lang/scope.lux @@ -8,7 +8,7 @@ ["e" error] (coll [list "list/" Functor<List> Fold<List> Monoid<List>])) [meta]) - (luxc ["&" base] + (luxc ["&" lang] (lang [";L" variable #+ Variable]))) (type: Locals (Bindings Text [Type Nat])) diff --git a/new-luxc/source/luxc/lang/synthesis/expression.lux b/new-luxc/source/luxc/lang/synthesis/expression.lux index 30704a2d2..4571a8875 100644 --- a/new-luxc/source/luxc/lang/synthesis/expression.lux +++ b/new-luxc/source/luxc/lang/synthesis/expression.lux @@ -10,8 +10,7 @@ [dict #+ Dict])) (meta [code] ["s" syntax])) - (luxc ["&" base] - (lang ["la" analysis] + (luxc (lang ["la" analysis] ["ls" synthesis] (synthesis [";S" case] [";S" function] diff --git a/new-luxc/source/luxc/lang/translation.lux b/new-luxc/source/luxc/lang/translation.lux index 5b11a8e39..85eed9ba1 100644 --- a/new-luxc/source/luxc/lang/translation.lux +++ b/new-luxc/source/luxc/lang/translation.lux @@ -12,14 +12,13 @@ [host] [io] (world [file #+ File])) - (luxc ["&" base] - [";L" host] - (host [";H" macro] - ["$" jvm]) + (luxc ["&" lang] ["&;" io] - ["&;" module] - ["&;" eval] - (lang ["&;" syntax] + (lang [";L" module] + [";L" host] + (host [";H" macro] + ["$" jvm]) + ["&;" syntax] (analysis [";A" expression] [";A" common]) (synthesis [";S" expression]) @@ -27,7 +26,8 @@ [";T" statement] [";T" common] [";T" expression] - [";T" eval])) + [";T" eval]) + ["&;" eval]) )) (def: analyse @@ -160,7 +160,7 @@ [#let [init-cursor [file-name +1 +0]] output (&;with-source-code [init-cursor +0 source-code] action) - _ (&module;flag-compiled! module-name)] + _ (moduleL;flag-compiled! module-name)] (wrap output))) (def: (parse current-module) @@ -174,15 +174,15 @@ (#e;Success [(set@ #;source source' compiler) output])))) -(def: (translate-module source-dirs module-name target-dir compiler) - (-> (List File) Text File Compiler (T;Task Compiler)) +(def: (translate-module source-dirs target-dir module-name compiler) + (-> (List File) File Text Compiler (T;Task Compiler)) (do T;Monad<Task> [_ (&io;prepare-module target-dir module-name) [file-name file-content] (&io;read-module source-dirs module-name) #let [module-hash (text/hash file-content)]] (case (meta;run' compiler (do meta;Monad<Meta> - [[_ artifacts _] (&module;with-module module-hash module-name + [[_ artifacts _] (moduleL;with-module module-hash module-name (commonT;with-artifacts (with-active-compilation [module-name file-name @@ -193,14 +193,10 @@ #let [[cursor _] code]] (&;with-cursor cursor (translate code)))))))] - (wrap artifacts) - ## (&module;translate-descriptor module-name) - )) - (#e;Success [compiler artifacts ## module-descriptor - ]) + (wrap artifacts))) + (#e;Success [compiler artifacts]) (do @ - [## _ (&io;write-module module-name module-descriptor) - _ (monad;map @ (function [[class-name class-bytecode]] + [_ (monad;map @ (function [[class-name class-bytecode]] (&io;write-file target-dir class-name class-bytecode)) (dict;entries artifacts))] (wrap compiler)) @@ -236,8 +232,8 @@ #;scope-type-vars (list) #;host (:! Void host)}) -(def: #export (translate-program program target sources) - (-> Text File (List File) (T;Task Unit)) +(def: #export (translate-program sources target program) + (-> (List File) File Text (T;Task Unit)) (do T;Monad<Task> [compiler (|> (case (runtimeT;translate (init-compiler (io;run hostL;init-host))) (#e;Error error) @@ -250,7 +246,7 @@ _ (&io;write-file target hostL;function-class function-bc)] (wrap compiler))) (: (T;Task Compiler)) - (:: @ map (translate-module sources prelude target)) (:: @ join) - (:: @ map (translate-module sources program target)) (:: @ join)) + (:: @ map (translate-module sources target prelude)) (:: @ join) + (:: @ map (translate-module sources target program)) (:: @ join)) #let [_ (log! "Compilation complete!")]] (wrap []))) diff --git a/new-luxc/source/luxc/lang/translation/case.jvm.lux b/new-luxc/source/luxc/lang/translation/case.jvm.lux index cb0aa2198..e3052c77d 100644 --- a/new-luxc/source/luxc/lang/translation/case.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/case.jvm.lux @@ -4,12 +4,12 @@ ["ex" exception #+ exception:]) (data text/format) [meta "meta/" Monad<Meta>]) - (luxc ["_" base] - [";L" host] - (host ["$" jvm] - (jvm ["$t" type] - ["$i" inst])) - (lang ["ls" synthesis])) + (luxc ["_" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$t" type] + ["$i" inst])) + ["ls" synthesis])) [../runtime]) (def: $Object $;Type ($t;class "java.lang.Object" (list))) diff --git a/new-luxc/source/luxc/lang/translation/common.jvm.lux b/new-luxc/source/luxc/lang/translation/common.jvm.lux index 4ec487d86..49e135709 100644 --- a/new-luxc/source/luxc/lang/translation/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/common.jvm.lux @@ -10,11 +10,11 @@ [host] (world [blob #+ Blob] [file #+ File])) - (luxc (lang [";L" variable #+ Register]) - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])))) + (luxc (lang [";L" variable #+ Register] + (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst]))))) (host;import org.objectweb.asm.Opcodes (#static V1_6 int)) diff --git a/new-luxc/source/luxc/lang/translation/eval.jvm.lux b/new-luxc/source/luxc/lang/translation/eval.jvm.lux index 9514741f8..3c4eea048 100644 --- a/new-luxc/source/luxc/lang/translation/eval.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/eval.jvm.lux @@ -4,12 +4,12 @@ (data text/format) [meta] [host #+ do-to]) - (luxc ["&" base] - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])) - (lang ["la" analysis] + (luxc ["&" lang] + (lang (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst])) + ["la" analysis] ["ls" synthesis] (translation [";T" common])) )) diff --git a/new-luxc/source/luxc/lang/translation/expression.jvm.lux b/new-luxc/source/luxc/lang/translation/expression.jvm.lux index fa5f54647..d592c5001 100644 --- a/new-luxc/source/luxc/lang/translation/expression.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/expression.jvm.lux @@ -7,9 +7,10 @@ text/format) [meta] (meta ["s" syntax])) - (luxc ["&" base] - (host ["$" jvm]) - (lang ["ls" synthesis] + (luxc ["&" lang] + (lang [";L" variable #+ Variable Register] + (host ["$" jvm]) + ["ls" synthesis] (translation [";T" common] [";T" primitive] [";T" structure] @@ -17,8 +18,7 @@ [";T" procedure] [";T" function] [";T" reference] - [";T" case]) - [";L" variable #+ Variable Register]))) + [";T" case])))) (exception: #export Unrecognized-Synthesis) diff --git a/new-luxc/source/luxc/lang/translation/function.jvm.lux b/new-luxc/source/luxc/lang/translation/function.jvm.lux index 0247b3d7f..d12eca16e 100644 --- a/new-luxc/source/luxc/lang/translation/function.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/function.jvm.lux @@ -5,13 +5,13 @@ text/format (coll [list "list/" Functor<List> Monoid<List>])) [meta]) - (luxc ["&" base] - [";L" host] - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])) - (lang ["la" analysis] + (luxc ["&" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst])) + ["la" analysis] ["ls" synthesis] (translation [";T" common] [";T" runtime] diff --git a/new-luxc/source/luxc/lang/translation/loop.jvm.lux b/new-luxc/source/luxc/lang/translation/loop.jvm.lux index 6e51d7eed..b5497236f 100644 --- a/new-luxc/source/luxc/lang/translation/loop.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/loop.jvm.lux @@ -5,13 +5,13 @@ text/format (coll [list "list/" Functor<List> Monoid<List>])) [meta]) - (luxc ["&" base] - [";L" host] - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])) - (lang ["la" analysis] + (luxc ["&" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst])) + ["la" analysis] ["ls" synthesis] (translation [";T" common] [";T" runtime] diff --git a/new-luxc/source/luxc/lang/translation/primitive.jvm.lux b/new-luxc/source/luxc/lang/translation/primitive.jvm.lux index f795a2980..f059aa8da 100644 --- a/new-luxc/source/luxc/lang/translation/primitive.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/primitive.jvm.lux @@ -3,12 +3,12 @@ (lux (control monad) (data text/format) [meta "meta/" Monad<Meta>]) - (luxc ["&" base] - [";L" host] - (host ["$" jvm] - (jvm ["$i" inst] - ["$t" type])) - (lang ["la" analysis] + (luxc ["&" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$i" inst] + ["$t" type])) + ["la" analysis] ["ls" synthesis] (translation [";T" common]))) [../runtime]) diff --git a/new-luxc/source/luxc/lang/translation/procedure.jvm.lux b/new-luxc/source/luxc/lang/translation/procedure.jvm.lux index 733f630d5..917edd78d 100644 --- a/new-luxc/source/luxc/lang/translation/procedure.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/procedure.jvm.lux @@ -5,9 +5,9 @@ (data [maybe] text/format (coll [dict]))) - (luxc ["&" base] - (host ["$" jvm]) - (lang ["ls" synthesis])) + (luxc ["&" lang] + (lang (host ["$" jvm]) + ["ls" synthesis])) (. ["./;" common] ["./;" host])) diff --git a/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux index 9a01622ae..3cab88e48 100644 --- a/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux @@ -12,13 +12,13 @@ (meta [code] ["s" syntax #+ syntax:]) [host]) - (luxc ["&" base] - [";L" host] - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])) - (lang ["la" analysis] + (luxc ["&" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst])) + ["la" analysis] ["ls" synthesis] (translation [";T" runtime] [";T" case] diff --git a/new-luxc/source/luxc/lang/translation/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/procedure/host.jvm.lux index e45c0b911..8a28e3cf7 100644 --- a/new-luxc/source/luxc/lang/translation/procedure/host.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/procedure/host.jvm.lux @@ -14,13 +14,13 @@ (meta [code] ["s" syntax #+ syntax:]) [host]) - (luxc ["&" base] - [";L" host] - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])) - (lang ["la" analysis] + (luxc ["&" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst])) + ["la" analysis] (analysis (procedure ["&;" host])) ["ls" synthesis])) ["@" ../common]) diff --git a/new-luxc/source/luxc/lang/translation/reference.jvm.lux b/new-luxc/source/luxc/lang/translation/reference.jvm.lux index e9c445dd4..b714558b8 100644 --- a/new-luxc/source/luxc/lang/translation/reference.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/reference.jvm.lux @@ -4,12 +4,12 @@ (data [text "text/" Hash<Text>] text/format) [meta "meta/" Monad<Meta>]) - (luxc ["&" base] - [";L" host] - (host ["$" jvm] - (jvm ["$t" type] - ["$i" inst])) - (lang ["ls" synthesis] + (luxc ["&" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$t" type] + ["$i" inst])) + ["ls" synthesis] [";L" variable #+ Variable] (translation [";T" common])))) diff --git a/new-luxc/source/luxc/lang/translation/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/runtime.jvm.lux index 70450be91..fa6d6dcad 100644 --- a/new-luxc/source/luxc/lang/translation/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/runtime.jvm.lux @@ -6,13 +6,13 @@ [math] [meta] [host]) - (luxc ["&" base] - [";L" host] - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])) - (lang ["la" analysis] + (luxc ["&" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst])) + ["la" analysis] ["ls" synthesis] (translation [";T" common])))) diff --git a/new-luxc/source/luxc/lang/translation/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/statement.jvm.lux index 718175df1..232519d8b 100644 --- a/new-luxc/source/luxc/lang/translation/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/statement.jvm.lux @@ -9,15 +9,15 @@ (coll [list "list/" Functor<List> Fold<List>])) [meta] [host]) - (luxc ["&" base] - ["&;" scope] - ["&;" module] + (luxc ["&" lang] ["&;" io] - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])) - (lang (translation [";T" eval] + (lang (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst])) + ["&;" scope] + ["&;" module] + (translation [";T" eval] [";T" common])))) (exception: #export Invalid-Definition-Value) diff --git a/new-luxc/source/luxc/lang/translation/structure.jvm.lux b/new-luxc/source/luxc/lang/translation/structure.jvm.lux index 68219b87c..2c04eaa0c 100644 --- a/new-luxc/source/luxc/lang/translation/structure.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/structure.jvm.lux @@ -6,13 +6,13 @@ (coll [list])) [meta] [host #+ do-to]) - (luxc ["&" base] - [";L" host] - (host ["$" jvm] - (jvm ["$t" type] - ["$d" def] - ["$i" inst])) - (lang ["la" analysis] + (luxc ["&" lang] + (lang [";L" host] + (host ["$" jvm] + (jvm ["$t" type] + ["$d" def] + ["$i" inst])) + ["la" analysis] ["ls" synthesis] (translation [";T" common]))) [../runtime]) |