diff options
Diffstat (limited to 'stdlib/source/library')
169 files changed, 783 insertions, 641 deletions
diff --git a/stdlib/source/library/lux/abstract/apply.lux b/stdlib/source/library/lux/abstract/apply.lux index 69526ae86..df1e73a45 100644 --- a/stdlib/source/library/lux/abstract/apply.lux +++ b/stdlib/source/library/lux/abstract/apply.lux @@ -2,7 +2,8 @@ [library [lux (.except) [meta - ["@" target]]]] + [compiler + ["@" target]]]]] [// [monad (.only Monad do)] ["[0]" functor (.only Functor)]]) diff --git a/stdlib/source/library/lux/control/concurrency/atom.lux b/stdlib/source/library/lux/control/concurrency/atom.lux index 962149143..8068f29db 100644 --- a/stdlib/source/library/lux/control/concurrency/atom.lux +++ b/stdlib/source/library/lux/control/concurrency/atom.lux @@ -13,7 +13,8 @@ ["[0]" array ["[1]" \\unsafe]]]] [meta - ["@" target] + [compiler + ["@" target]] [type ["[0]" nominal (.except def)] ["[0]" variance (.only Mutable)]]]]]) diff --git a/stdlib/source/library/lux/control/concurrency/thread.lux b/stdlib/source/library/lux/control/concurrency/thread.lux index b30444a54..16ecebb90 100644 --- a/stdlib/source/library/lux/control/concurrency/thread.lux +++ b/stdlib/source/library/lux/control/concurrency/thread.lux @@ -17,8 +17,9 @@ ["n" nat] ["f" frac]]] [meta - ["@" target] - ["[0]" configuration]] + ["[0]" configuration] + [compiler + ["@" target]]] [world [time ["[0]" instant (.only Instant) (.use "[1]#[0]" order)] diff --git a/stdlib/source/library/lux/control/parser.lux b/stdlib/source/library/lux/control/parser.lux index c3c87c59f..9f2083573 100644 --- a/stdlib/source/library/lux/control/parser.lux +++ b/stdlib/source/library/lux/control/parser.lux @@ -13,11 +13,13 @@ [collection ["[0]" list (.use "[1]#[0]" functor monoid)]]]]]) -(type .public (Parser s a) - (-> s (Try [s a]))) +(type .public (Parser state of) + (-> state + (Try [state of]))) (def .public functor - (All (_ s) (Functor (Parser s))) + (All (_ state) + (Functor (Parser state))) (implementation (def (each f ma) (function (_ input) @@ -29,7 +31,8 @@ {try.#Failure msg}))))) (def .public apply - (All (_ s) (Apply (Parser s))) + (All (_ state) + (Apply (Parser state))) (implementation (def functor ..functor) @@ -48,7 +51,8 @@ {try.#Failure msg}))))) (def .public monad - (All (_ s) (Monad (Parser s))) + (All (_ state) + (Monad (Parser state))) (implementation (def functor ..functor) @@ -66,15 +70,18 @@ {try.#Failure msg}))))) (def .public (assertion message test) - (All (_ s) (-> Text Bit (Parser s Any))) + (All (_ state) + (-> Text Bit + (Parser state Any))) (function (_ input) (if test {try.#Success [input []]} {try.#Failure message}))) (def .public (maybe parser) - (All (_ s a) - (-> (Parser s a) (Parser s (Maybe a)))) + (All (_ state of) + (-> (Parser state of) + (Parser state (Maybe of)))) (function (_ input) (when (parser input) {try.#Success [input' x]} @@ -84,20 +91,23 @@ {try.#Success [input {.#None}]}))) (def .public (result parser input) - (All (_ s a) - (-> (Parser s a) s (Try [s a]))) + (All (_ state of) + (-> (Parser state of) state + (Try [state of]))) (parser input)) -(def .public (and first second) - (All (_ s a b) - (-> (Parser s a) (Parser s b) (Parser s [a b]))) +(def .public (and left right) + (All (_ state left right) + (-> (Parser state left) (Parser state right) + (Parser state (And left right)))) (do [! ..monad] - [head first] - (of ! each (|>> [head]) second))) + [head left] + (of ! each (|>> [head]) right))) (def .public (or left right) - (All (_ s a b) - (-> (Parser s a) (Parser s b) (Parser s (Or a b)))) + (All (_ state left right) + (-> (Parser state left) (Parser state right) + (Parser state (Or left right)))) (function (_ tokens) (when (left tokens) {try.#Success [tokens' output]} @@ -112,8 +122,9 @@ {try.#Failure error})))) (def .public (either this that) - (All (_ s a) - (-> (Parser s a) (Parser s a) (Parser s a))) + (All (_ state of) + (-> (Parser state of) (Parser state of) + (Parser state of))) (function (_ tokens) (when (this tokens) {try.#Failure _} @@ -123,8 +134,9 @@ success))) (def .public (some parser) - (All (_ s a) - (-> (Parser s a) (Parser s (List a)))) + (All (_ state of) + (-> (Parser state of) + (Parser state (List of)))) (function (_ input) (when (parser input) {try.#Success [input' head]} @@ -136,14 +148,17 @@ {try.#Success [input (list)]}))) (def .public (many parser) - (All (_ s a) - (-> (Parser s a) (Parser s (List a)))) + (All (_ state of) + (-> (Parser state of) + (Parser state (List of)))) (|> (..some parser) (..and parser) (of ..monad each (|>> {.#Item})))) (def .public (exactly amount parser) - (All (_ s a) (-> Nat (Parser s a) (Parser s (List a)))) + (All (_ state of) + (-> Nat (Parser state of) + (Parser state (List of)))) (when amount 0 (of ..monad in (list)) _ (do [! ..monad] @@ -153,13 +168,17 @@ (of ! each (|>> {.#Item x})))))) (def .public (at_least amount parser) - (All (_ s a) (-> Nat (Parser s a) (Parser s (List a)))) + (All (_ state of) + (-> Nat (Parser state of) + (Parser state (List of)))) (do [! ..monad] [minimum (..exactly amount parser)] (of ! each (list#composite minimum) (..some parser)))) (def .public (at_most amount parser) - (All (_ s a) (-> Nat (Parser s a) (Parser s (List a)))) + (All (_ state of) + (-> Nat (Parser state of) + (Parser state (List of)))) (when amount 0 (of ..monad in (list)) _ (function (_ input) @@ -173,7 +192,9 @@ {try.#Success [input (list)]})))) (def .public (between minimum additional parser) - (All (_ s a) (-> Nat Nat (Parser s a) (Parser s (List a)))) + (All (_ state of) + (-> Nat Nat (Parser state of) + (Parser state (List of)))) (do [! ..monad] [minimum (..exactly minimum parser)] (when additional @@ -182,7 +203,9 @@ (..at_most additional parser))))) (def .public (separated_by separator parser) - (All (_ s a b) (-> (Parser s b) (Parser s a) (Parser s (List a)))) + (All (_ state separator of) + (-> (Parser state separator) (Parser state of) + (Parser state (List of)))) (do [! ..monad] [?x (..maybe parser)] (when ?x @@ -196,7 +219,9 @@ (in {.#End})))) (def .public (not parser) - (All (_ s a) (-> (Parser s a) (Parser s Any))) + (All (_ state of) + (-> (Parser state of) + (Parser state Any))) (function (_ input) (when (parser input) {try.#Failure msg} @@ -206,7 +231,9 @@ {try.#Failure "Expected to fail; yet succeeded."}))) (def .public (failure message) - (All (_ s a) (-> Text (Parser s a))) + (All (_ state of) + (-> Text + (Parser state of))) (function (_ input) {try.#Failure message})) @@ -223,7 +250,9 @@ {try.#Failure error}))) (def .public (else value parser) - (All (_ s a) (-> a (Parser s a) (Parser s a))) + (All (_ state of) + (-> of (Parser state of) + (Parser state of))) (function (_ input) (when (parser input) {try.#Failure error} @@ -233,37 +262,49 @@ success))) (def .public remaining - (All (_ s) (Parser s s)) + (All (_ state) + (Parser state state)) (function (_ inputs) {try.#Success [inputs inputs]})) (def .public (rec parser) - (All (_ s a) (-> (-> (Parser s a) (Parser s a)) (Parser s a))) + (All (_ state of) + (-> (-> (Parser state of) + (Parser state of)) + (Parser state of))) (function (_ inputs) (..result (parser (rec parser)) inputs))) (def .public (after param subject) - (All (_ s _ a) (-> (Parser s _) (Parser s a) (Parser s a))) + (All (_ state _ of) + (-> (Parser state _) (Parser state of) + (Parser state of))) (do ..monad [_ param] subject)) (def .public (before param subject) - (All (_ s _ a) (-> (Parser s _) (Parser s a) (Parser s a))) + (All (_ state _ of) + (-> (Parser state _) (Parser state of) + (Parser state of))) (do ..monad [output subject _ param] (in output))) (def .public (only test parser) - (All (_ s a) (-> (-> a Bit) (Parser s a) (Parser s a))) + (All (_ state of) + (-> (-> of Bit) (Parser state of) + (Parser state of))) (do ..monad [output parser _ (..assertion "Constraint failed." (test output))] (in output))) (def .public (parses? parser) - (All (_ s a) (-> (Parser s a) (Parser s Bit))) + (All (_ state of) + (-> (Parser state of) + (Parser state Bit))) (function (_ input) (when (parser input) {try.#Success [input' _]} @@ -273,7 +314,9 @@ {try.#Success [input false]}))) (def .public (parses parser) - (All (_ s a) (-> (Parser s a) (Parser s Any))) + (All (_ state of) + (-> (Parser state of) + (Parser state Any))) (function (_ input) (when (parser input) {try.#Success [input' _]} @@ -283,7 +326,9 @@ {try.#Failure error}))) (def .public (speculative parser) - (All (_ s a) (-> (Parser s a) (Parser s a))) + (All (_ state of) + (-> (Parser state of) + (Parser state of))) (function (_ input) (when (parser input) {try.#Success [input' output]} @@ -293,7 +338,9 @@ failure))) (def .public (codec codec parser) - (All (_ s a z) (-> (Codec a z) (Parser s a) (Parser s z))) + (All (_ state medium of) + (-> (Codec medium of) (Parser state medium) + (Parser state of))) (function (_ input) (when (parser input) {try.#Success [input' to_decode]} diff --git a/stdlib/source/library/lux/control/reader.lux b/stdlib/source/library/lux/control/reader.lux index 245fb0077..0edf8ca10 100644 --- a/stdlib/source/library/lux/control/reader.lux +++ b/stdlib/source/library/lux/control/reader.lux @@ -4,9 +4,7 @@ [abstract [apply (.only Apply)] ["[0]" functor (.only Functor)] - ["[0]" monad (.only Monad do)]] - [meta - ["@" target]]]]) + ["[0]" monad (.only Monad do)]]]]) (type .public (Reader r a) (-> r a)) diff --git a/stdlib/source/library/lux/control/thread.lux b/stdlib/source/library/lux/control/thread.lux index 222ea8b2c..1d600628d 100644 --- a/stdlib/source/library/lux/control/thread.lux +++ b/stdlib/source/library/lux/control/thread.lux @@ -12,7 +12,6 @@ ["[0]" array ["[1]" \\unsafe (.only Array)]]]] [meta - ["@" target] [type ["[0]" nominal (.except def)] ["[0]" variance (.only Mutable)]]]]]) diff --git a/stdlib/source/library/lux/control/try.lux b/stdlib/source/library/lux/control/try.lux index c9ed542d7..136ebc486 100644 --- a/stdlib/source/library/lux/control/try.lux +++ b/stdlib/source/library/lux/control/try.lux @@ -7,7 +7,6 @@ ["[0]" functor (.only Functor)] ["[0]" monad (.only Monad do)]] [meta - ["@" target] ["[0]" location]]]]) (type .public (Try a) diff --git a/stdlib/source/library/lux/control/writer.lux b/stdlib/source/library/lux/control/writer.lux index 2f5069f46..3253320d2 100644 --- a/stdlib/source/library/lux/control/writer.lux +++ b/stdlib/source/library/lux/control/writer.lux @@ -7,7 +7,8 @@ ["[0]" functor (.only Functor)] ["[0]" monad (.only Monad do)]] [meta - ["@" target]]]]) + [compiler + ["@" target]]]]]) (type .public (Writer log value) (Record diff --git a/stdlib/source/library/lux/data/collection/list.lux b/stdlib/source/library/lux/data/collection/list.lux index 3ec1cd2c8..e88a8d798 100644 --- a/stdlib/source/library/lux/data/collection/list.lux +++ b/stdlib/source/library/lux/data/collection/list.lux @@ -20,7 +20,8 @@ [number ["n" nat]]] [meta - ["@" target]]]]) + [compiler + ["@" target]]]]]) ... (type (List a) ... #End diff --git a/stdlib/source/library/lux/data/collection/sequence.lux b/stdlib/source/library/lux/data/collection/sequence.lux index 2d114ca91..0863ef0dd 100644 --- a/stdlib/source/library/lux/data/collection/sequence.lux +++ b/stdlib/source/library/lux/data/collection/sequence.lux @@ -29,7 +29,6 @@ ["n" nat] ["[0]" i64]]] [meta - ["@" target] ["[0]" code (.only) ["<[1]>" \\parser (.only Parser)]] [macro diff --git a/stdlib/source/library/lux/data/collection/tree/zipper.lux b/stdlib/source/library/lux/data/collection/tree/zipper.lux index b06a5c591..28d4f66bb 100644 --- a/stdlib/source/library/lux/data/collection/tree/zipper.lux +++ b/stdlib/source/library/lux/data/collection/tree/zipper.lux @@ -15,7 +15,8 @@ [collection ["[0]" list (.use "[1]#[0]" functor monoid)]]] [meta - ["@" target]]]] + [compiler + ["@" target]]]]] ["[0]" // (.only Tree) (.use "[1]#[0]" functor)]) (type (Family Zipper a) diff --git a/stdlib/source/library/lux/data/text.lux b/stdlib/source/library/lux/data/text.lux index a2fe70b35..9d9c43e69 100644 --- a/stdlib/source/library/lux/data/text.lux +++ b/stdlib/source/library/lux/data/text.lux @@ -18,7 +18,8 @@ ["n" nat] ["[0]" i64]]] [meta - ["@" target]]]] + [compiler + ["@" target]]]]] [/ ["[0]" char (.only Char)]]) diff --git a/stdlib/source/library/lux/data/text/buffer.lux b/stdlib/source/library/lux/data/text/buffer.lux index 5b1bf4a6f..54adf6087 100644 --- a/stdlib/source/library/lux/data/text/buffer.lux +++ b/stdlib/source/library/lux/data/text/buffer.lux @@ -15,9 +15,10 @@ [number ["n" nat]]] [meta - ["@" target] [type - ["[0]" nominal (.except def)]]]]] + ["[0]" nominal (.except def)]] + [compiler + ["@" target]]]]] ["[0]" //]) (with_expansions [<jvm> (these (import java/lang/CharSequence diff --git a/stdlib/source/library/lux/data/text/encoding/utf8.lux b/stdlib/source/library/lux/data/text/encoding/utf8.lux index e6db26578..f03d07cfb 100644 --- a/stdlib/source/library/lux/data/text/encoding/utf8.lux +++ b/stdlib/source/library/lux/data/text/encoding/utf8.lux @@ -9,7 +9,8 @@ [data ["[0]" binary (.only Binary)]] [meta - ["@" target]]]] + [compiler + ["@" target]]]]] ["[0]" //]) (with_expansions [<jvm> (these (ffi.import java/lang/String diff --git a/stdlib/source/library/lux/debug.lux b/stdlib/source/library/lux/debug.lux index 5ee1ddbdf..39caa6c5e 100644 --- a/stdlib/source/library/lux/debug.lux +++ b/stdlib/source/library/lux/debug.lux @@ -26,7 +26,6 @@ ["n" nat] ["i" int]]] ["[0]" meta (.only) - ["@" target] ["[0]" code (.only) ["<[1]>" \\parser]] [macro @@ -34,7 +33,9 @@ ["[0]" template] ["[0]" syntax (.only syntax)]] ["[0]" type (.only) - ["<[1]>" \\parser (.only Parser)]]] + ["<[1]>" \\parser (.only Parser)]] + [compiler + ["@" target]]] [world [time (.only Time) [instant (.only Instant)] diff --git a/stdlib/source/library/lux/ffi.jvm.lux b/stdlib/source/library/lux/ffi.jvm.lux index b8c9650d4..b38df79d8 100644 --- a/stdlib/source/library/lux/ffi.jvm.lux +++ b/stdlib/source/library/lux/ffi.jvm.lux @@ -31,17 +31,18 @@ ["[0]" context]] ["[0]" type (.use "[1]#[0]" equivalence) ["[0]" check]] - [target - ["[0]" jvm - [encoding - ["[0]" name (.only External)]] - ["[1]" type (.only Type Argument Typed) - ["[0]" category (.only Void Value' Value Return' Return Method Primitive Object Class Array Var Parameter Declaration)] - ["[0]" box] - ["[0]" descriptor] - ["[0]" signature] - ["[0]" reflection] - ["[0]" parser]]]]]]]) + [compiler + [target + ["[0]" jvm + [encoding + ["[0]" name (.only External)]] + ["[1]" type (.only Type Argument Typed) + ["[0]" category (.only Void Value' Value Return' Return Method Primitive Object Class Array Var Parameter Declaration)] + ["[0]" box] + ["[0]" descriptor] + ["[0]" signature] + ["[0]" reflection] + ["[0]" parser]]]]]]]]) (def internal (-> External Text) diff --git a/stdlib/source/library/lux/ffi.lux b/stdlib/source/library/lux/ffi.lux index 8afc76f04..b0aa3cd6b 100644 --- a/stdlib/source/library/lux/ffi.lux +++ b/stdlib/source/library/lux/ffi.lux @@ -23,10 +23,10 @@ ["[0]" template]] [type (.only sharing) ["[0]" nominal (.except #name def)]] - ["@" target (.only) - ["[0]" js] - ["[0]" python]] [compiler + ["@" target (.only) + ["[0]" js] + ["[0]" python]] [arity (.only Arity)] [reference (.only Reference) [variable (.only Register)]] diff --git a/stdlib/source/library/lux/ffi.php.lux b/stdlib/source/library/lux/ffi.php.lux index 7eaa7b31a..578f57a5f 100644 --- a/stdlib/source/library/lux/ffi.php.lux +++ b/stdlib/source/library/lux/ffi.php.lux @@ -14,7 +14,6 @@ [collection ["[0]" list (.use "[1]#[0]" functor)]]] ["[0]" meta (.only) - ["@" target] [type ["[0]" nominal (.except def)]] ["[0]" code (.only) diff --git a/stdlib/source/library/lux/ffi.scm.lux b/stdlib/source/library/lux/ffi.scm.lux index 8db541680..585bf4e2f 100644 --- a/stdlib/source/library/lux/ffi.scm.lux +++ b/stdlib/source/library/lux/ffi.scm.lux @@ -14,7 +14,6 @@ [collection ["[0]" list (.use "[1]#[0]" functor)]]] ["[0]" meta (.only) - ["@" target] [type ["[0]" nominal (.except def)]] ["[0]" code (.only) diff --git a/stdlib/source/library/lux/math.lux b/stdlib/source/library/lux/math.lux index de44e4d21..c19059e81 100644 --- a/stdlib/source/library/lux/math.lux +++ b/stdlib/source/library/lux/math.lux @@ -13,7 +13,6 @@ ["[0]" list (.use "[1]#[0]" mix)]]] [meta [extension (.only analysis)] - ["@" target] ["[0]" location] ["[0]" code ["<[1]>" \\parser]] @@ -22,6 +21,7 @@ [type ["[0]" check]] [compiler + ["@" target] [language [lux ["[0]" phase (.use "[1]#[0]" monad)] diff --git a/stdlib/source/library/lux/math/number/frac.lux b/stdlib/source/library/lux/math/number/frac.lux index 6dcac2a10..60c730835 100644 --- a/stdlib/source/library/lux/math/number/frac.lux +++ b/stdlib/source/library/lux/math/number/frac.lux @@ -16,7 +16,8 @@ [data ["[0]" text]] [meta - ["@" target]]]] + [compiler + ["@" target]]]]] ["[0]" // ["[1][0]" i64] ["[1][0]" nat] diff --git a/stdlib/source/library/lux/math/number/i32.lux b/stdlib/source/library/lux/math/number/i32.lux index 3fc667291..3d88a04e4 100644 --- a/stdlib/source/library/lux/math/number/i32.lux +++ b/stdlib/source/library/lux/math/number/i32.lux @@ -8,10 +8,11 @@ ["[0]" maybe] ["[0]" try]] [meta - ["@" target] ["[0]" static] ["[0]" type (.only) - ["?[1]" \\parser]]]]] + ["?[1]" \\parser]] + [compiler + ["@" target]]]]] [// ["[0]" i64]]) diff --git a/stdlib/source/library/lux/meta/compiler/default/init.lux b/stdlib/source/library/lux/meta/compiler/default/init.lux index 8c12039a6..af5497d49 100644 --- a/stdlib/source/library/lux/meta/compiler/default/init.lux +++ b/stdlib/source/library/lux/meta/compiler/default/init.lux @@ -17,9 +17,10 @@ ["[0]" set] ["[0]" sequence (.use "[1]#[0]" functor)]]] ["[0]" meta (.only) - ["@" target (.only Target)] ["[0]" configuration (.only Configuration)] - ["[0]" version]] + ["[0]" version] + [compiler + [target (.only Target)]]] [world ["[0]" file]]]] ["[0]" // diff --git a/stdlib/source/library/lux/meta/compiler/default/platform.lux b/stdlib/source/library/lux/meta/compiler/default/platform.lux index a17939fe9..15bc9ed0a 100644 --- a/stdlib/source/library/lux/meta/compiler/default/platform.lux +++ b/stdlib/source/library/lux/meta/compiler/default/platform.lux @@ -26,11 +26,12 @@ ["[0]" set (.only Set)] ["[0]" list (.use "[1]#[0]" monoid functor mix)]]] ["[0]" meta (.only) - ["@" target] ["[0]" static] ["[0]" configuration (.only Configuration)] [type (.only sharing) - ["[0]" check]]] + ["[0]" check]] + [compiler + ["@" target]]] [world ["[0]" file (.only Path)] ["[0]" console]]]] @@ -759,7 +760,9 @@ (def .public Custom Type - (type_literal (-> (List Text) (Try ///.Custom)))) + (type_literal + (-> (List Text) + (Try ///.Custom)))) (exception.def .public (invalid_custom_compiler [definition type]) (Exception [Symbol Type]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/js.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/js.lux index a703fba70..da1d3845d 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/js.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/js.lux @@ -12,8 +12,9 @@ ["[0]" dictionary] ["[0]" list]]] ["[0]" meta (.only) - ["@" target (.only) - ["_" js]] + [compiler + ["@" target (.only) + ["_" js]]] ["[0]" code ["<[1]>" \\parser (.only Parser)]] ["[0]" type (.only) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/jvm.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/jvm.lux index 420daefdb..51108b50d 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/jvm.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/jvm.lux @@ -34,29 +34,30 @@ [macro ["^" pattern] ["[0]" template]] - [target - ["[0]" jvm - ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad)] - ["[0]!" reflection] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" attribute] - ["[0]" field] - ["[0]" version] - ["[0]" method] - ["[0]" class] - ["[0]" constant (.only) - ["[0]" pool (.only Resource)]] - [encoding - ["[0]" name (.only External)]] - ["[1]" type (.only Type Argument Typed) (.use "[1]#[0]" equivalence) - ["[0]" category (.only Void Value' Value Return' Return Primitive Object Class Array Var Parameter Method)] - ["[0]" box] - ["[0]" reflection] - ["[0]" descriptor] - ["[0]" signature] - ["[0]" parser] - ["[0]" alias (.only Aliasing)] - ["[0]T" lux (.only Mapping)]]]] + [compiler + [target + ["[0]" jvm + ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad)] + ["[0]!" reflection] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" attribute] + ["[0]" field] + ["[0]" version] + ["[0]" method] + ["[0]" class] + ["[0]" constant (.only) + ["[0]" pool (.only Resource)]] + [encoding + ["[0]" name (.only External)]] + ["[1]" type (.only Type Argument Typed) (.use "[1]#[0]" equivalence) + ["[0]" category (.only Void Value' Value Return' Return Primitive Object Class Array Var Parameter Method)] + ["[0]" box] + ["[0]" reflection] + ["[0]" descriptor] + ["[0]" signature] + ["[0]" parser] + ["[0]" alias (.only Aliasing)] + ["[0]T" lux (.only Mapping)]]]]] ["[0]" type (.use "[1]#[0]" equivalence) ["[0]" check (.only Check) (.use "[1]#[0]" monad)]]]]] ["[0]" // diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/lua.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/lua.lux index 092ca0575..bfa27b8ed 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/lua.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/lua.lux @@ -12,8 +12,9 @@ ["[0]" dictionary] ["[0]" list]]] ["[0]" meta (.only) - ["@" target (.only) - ["_" lua]] + [compiler + ["@" target (.only) + ["_" lua]]] ["[0]" code ["<[1]>" \\parser (.only Parser)]] ["[0]" type (.only) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/python.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/python.lux index 49721e9df..48e7cfc4d 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/python.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/python.lux @@ -12,8 +12,9 @@ ["[0]" dictionary] ["[0]" list]]] ["[0]" meta (.only) - ["@" target (.only) - ["_" python]] + [compiler + ["@" target (.only) + ["_" python]]] ["[0]" code ["<[1]>" \\parser (.only Parser)]] ["[0]" type (.only) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/ruby.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/ruby.lux index 9e85ce56b..6f1931791 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/ruby.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/analysis/ruby.lux @@ -12,8 +12,9 @@ ["[0]" dictionary] ["[0]" list]]] ["[0]" meta (.only) - ["@" target (.only) - ["_" ruby]] + [compiler + ["@" target (.only) + ["_" ruby]]] ["[0]" code ["<[1]>" \\parser (.only Parser)]] ["[0]" type (.only) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/declaration/jvm.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/declaration/jvm.lux index c99eb4832..8e342547b 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/declaration/jvm.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/declaration/jvm.lux @@ -33,27 +33,27 @@ ["[0]" template]] [type ["[0]" check (.only Check)]] - [target - [jvm - ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad)] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" attribute] - ["[0]" field] - ["[0]" version] - ["[0]" method (.only Method)] - ["[0]" class] - ["[0]" constant (.only) - ["[0]" pool (.only Resource)]] - [encoding - ["[0]" name (.only External)]] - ["[0]" type (.only Type Constraint Argument Typed) - [category (.only Void Value Return Primitive Object Class Array Var Parameter)] - ["[0]T" lux (.only Mapping)] - ["[0]" signature] - ["[0]" reflection] - ["[0]" descriptor (.only Descriptor)] - ["[0]" parser]]]] [compiler + [target + [jvm + ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad)] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" attribute] + ["[0]" field] + ["[0]" version] + ["[0]" method (.only Method)] + ["[0]" class] + ["[0]" constant (.only) + ["[0]" pool (.only Resource)]] + [encoding + ["[0]" name (.only External)]] + ["[0]" type (.only Type Constraint Argument Typed) + [category (.only Void Value Return Primitive Object Class Array Var Parameter)] + ["[0]T" lux (.only Mapping)] + ["[0]" signature] + ["[0]" reflection] + ["[0]" descriptor (.only Descriptor)] + ["[0]" parser]]]] [reference [variable (.only Register)]] [meta @@ -426,7 +426,7 @@ [[(n.+ <shift> jvm_register) (all _.composite (<load> jvm_register) - (value.wrap <type>) + (value.boxed <type>) (_.astore lux_register))]]] (`` (cond (,, (with_template [<shift> <load> <type>] [(of type.equivalence = <type> argumentT) @@ -510,7 +510,7 @@ {.#Right returnT} (template.let [(unwrap_primitive <return> <type>) [(all _.composite - (value.unwrap <type>) + (value.primitive <type>) <return>)]] (`` (cond (,, (with_template [<return> <type>] [(of type.equivalence = <type> returnT) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/declaration/lux.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/declaration/lux.lux index e4d405e2c..590ae56c6 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/declaration/lux.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/declaration/lux.lux @@ -23,7 +23,6 @@ [number ["n" nat]]] ["[0]" meta (.only) - ["@" target] ["[0]" code ["<[1]>" \\parser (.only Parser)]] [macro diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/js/common.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/js/common.lux index 407f22b4f..5a3e679ac 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/js/common.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/js/common.lux @@ -16,11 +16,11 @@ [number ["f" frac]]] [meta - ["@" target (.only) - ["_" js (.only Literal Expression Statement)]] [macro ["^" pattern]] [compiler + ["@" target (.only) + ["_" js (.only Literal Expression Statement)]] [meta [archive (.only Archive)]]]]]] [///// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/js/host.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/js/host.lux index cae36908d..f34f3f25f 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/js/host.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/js/host.lux @@ -11,8 +11,9 @@ ["[0]" dictionary] ["[0]" list]]] [meta - [target - ["_" js (.only Var Expression)]]]]] + [compiler + [target + ["_" js (.only Var Expression)]]]]]] [// [common (.only custom)] [//// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/jvm/common.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/jvm/common.lux index 654f1b008..4b6b3a259 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/jvm/common.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/jvm/common.lux @@ -18,13 +18,14 @@ ["f" frac] ["[0]" i32]]] [meta - [target - [jvm - ["_" bytecode (.only Label Bytecode) (.use "[1]#[0]" monad)] - [encoding - ["[0]" signed (.only S4)]] - ["[0]" type (.only Type) - [category (.only Primitive Class)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Label Bytecode) (.use "[1]#[0]" monad)] + [encoding + ["[0]" signed (.only S4)]] + ["[0]" type (.only Type) + [category (.only Primitive Class)]]]]]]]] ["[0]" ///// ["[0]" extension] [translation @@ -70,12 +71,12 @@ (Bytecode Any) (all _.composite _.i2l - (///value.wrap type.long))) + (///value.boxed type.long))) (def jvm_int (Bytecode Any) (all _.composite - (///value.unwrap type.long) + (///value.primitive type.long) _.l2i)) (def (predicate bytecode) @@ -129,7 +130,7 @@ (in (do _.monad [@else _.new_label] (all _.composite - inputG (///value.unwrap type.long) _.l2i + inputG (///value.primitive type.long) _.l2i (_.lookupswitch @else table) conditionalsG (_.set_label @else) @@ -162,9 +163,9 @@ [(def (<name> [maskG inputG]) (Binary (Bytecode Any)) (all _.composite - inputG (///value.unwrap type.long) - maskG (///value.unwrap type.long) - <op> (///value.wrap type.long)))] + inputG (///value.primitive type.long) + maskG (///value.primitive type.long) + <op> (///value.boxed type.long)))] [i64::and _.land] [i64::or _.lor] @@ -175,9 +176,9 @@ [(def (<name> [shiftG inputG]) (Binary (Bytecode Any)) (all _.composite - inputG (///value.unwrap type.long) + inputG (///value.primitive type.long) shiftG ..jvm_int - <op> (///value.wrap type.long)))] + <op> (///value.boxed type.long)))] [i64::left_shifted _.lshl] [i64::right_shifted _.lushr] @@ -187,9 +188,9 @@ [(def (<name> [paramG subjectG]) (Binary (Bytecode Any)) (all _.composite - subjectG (///value.unwrap <type>) - paramG (///value.unwrap <type>) - <op> (///value.wrap <type>)))] + subjectG (///value.primitive <type>) + paramG (///value.primitive <type>) + <op> (///value.boxed <type>)))] [i64::+ type.long _.ladd] [i64::- type.long _.lsub] @@ -209,8 +210,8 @@ [(def (<name> [paramG subjectG]) (Binary (Bytecode Any)) (all _.composite - subjectG (///value.unwrap <type>) - paramG (///value.unwrap <type>) + subjectG (///value.primitive <type>) + paramG (///value.primitive <type>) <cmp> <reference> (..predicate _.if_icmpeq)))] @@ -235,26 +236,26 @@ <transform>))] [i64::f64 - (///value.unwrap type.long) + (///value.primitive type.long) (all _.composite _.l2d - (///value.wrap type.double))] + (///value.boxed type.double))] [i64::char - (///value.unwrap type.long) + (///value.primitive type.long) (all _.composite _.l2i _.i2c (..::toString ..$Character type.char))] [f64::i64 - (///value.unwrap type.double) + (///value.primitive type.double) (all _.composite _.d2l - (///value.wrap type.long))] + (///value.boxed type.long))] [f64::encode - (///value.unwrap type.double) + (///value.primitive type.double) (..::toString ..$Double type.double)] [f64::decode @@ -322,7 +323,7 @@ [text::= ..no_op ..no_op (_.invokevirtual ..$Object "equals" (type.method [(list) (list ..$Object) type.boolean (list)])) - (///value.wrap type.boolean)] + (///value.boxed type.boolean)] [text::< (_.checkcast $String) (_.checkcast $String) (_.invokevirtual ..$String "compareTo" (type.method [(list) (list ..$String) type.int (list)])) (..predicate _.iflt)] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/jvm/host.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/jvm/host.lux index 522cf231b..e6d606ce9 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/jvm/host.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/jvm/host.lux @@ -28,24 +28,25 @@ [macro ["^" pattern] ["[0]" template]] - [target - [jvm - ["[0]" version] - ["[0]" modifier (.use "[1]#[0]" monoid)] - ["[0]" method (.only Method)] - ["[0]" class (.only Class)] - [constant - [pool (.only Resource)]] - [encoding - ["[0]" name]] - ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad) - ["__" instruction (.only Primitive_Array_Type)]] - ["[0]" type (.only Type Typed Argument) - ["[0]" category (.only Void Value' Value Return' Return Primitive Object Array Var Parameter)] - ["[0]" box] - ["[0]" reflection] - ["[0]" signature] - ["[0]" parser]]]]]]] + [compiler + [target + [jvm + ["[0]" version] + ["[0]" modifier (.use "[1]#[0]" monoid)] + ["[0]" method (.only Method)] + ["[0]" class (.only Class)] + [constant + [pool (.only Resource)]] + [encoding + ["[0]" name]] + ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad) + ["__" instruction (.only Primitive_Array_Type)]] + ["[0]" type (.only Type Typed Argument) + ["[0]" category (.only Void Value' Value Return' Return Primitive Object Array Var Parameter)] + ["[0]" box] + ["[0]" reflection] + ["[0]" signature] + ["[0]" parser]]]]]]]] ["[0]" // [common (.only custom)] ["///[1]" //// @@ -592,7 +593,7 @@ (in (all _.composite objectG (_.instanceof (type.class class (list))) - (///value.wrap type.boolean)))))])) + (///value.boxed type.boolean)))))])) (def object::cast Handler @@ -606,13 +607,13 @@ (text#= <object> to)) (all _.composite valueG - (///value.wrap <type>)) + (///value.boxed <type>)) (and (text#= <object> from) (text#= (..reflection <type>) to)) (all _.composite valueG - (///value.unwrap <type>))] + (///value.primitive <type>))] [box.boolean type.boolean] [box.byte type.byte] @@ -1099,7 +1100,7 @@ (list#each (function (_ [register [type term]]) (let [then! (when (type.primitive? type) {.#Right type} - (///value.unwrap type) + (///value.primitive type) {.#Left type} (_.checkcast type))] @@ -1161,7 +1162,7 @@ {.#Right returnT} (template.let [(unwrap_primitive <return> <type>) [(all _.composite - (///value.unwrap <type>) + (///value.primitive <type>) <return>)]] (`` (cond (,, (with_template [<return> <type>] [(of type.equivalence = <type> returnT) @@ -1216,7 +1217,7 @@ [[(n.+ <shift> jvm_register) (all _.composite (<load> jvm_register) - (///value.wrap <type>) + (///value.boxed <type>) (_.astore lux_register))]]] (`` (cond (,, (with_template [<shift> <load> <type>] [(of type.equivalence = <type> argumentT) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/lua/common.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/lua/common.lux index e9a458146..84afea3dd 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/lua/common.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/lua/common.lux @@ -21,9 +21,9 @@ [meta [macro ["^" pattern]] - ["@" target (.only) - ["_" lua (.only Expression Statement)]] [compiler + ["@" target (.only) + ["_" lua (.only Expression Statement)]] [meta [archive (.only Archive)]]]]]] [///// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/lua/host.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/lua/host.lux index d27a45487..a57d8122f 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/lua/host.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/lua/host.lux @@ -13,8 +13,9 @@ [text ["%" \\format (.only format)]]] [meta - [target - ["_" lua (.only Var Expression)]]]]] + [compiler + [target + ["_" lua (.only Var Expression)]]]]]] ["[0]" // ["[1][0]" common (.only custom)] ["///[1]" //// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/python/common.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/python/common.lux index ad59ba175..8a6993af0 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/python/common.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/python/common.lux @@ -21,9 +21,9 @@ [meta [macro ["^" pattern]] - [target - ["_" python (.only Expression Statement)]] [compiler + [target + ["_" python (.only Expression Statement)]] [meta [archive (.only Archive)]]]]]] [///// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/python/host.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/python/host.lux index 8257f1fb1..10bec9e24 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/python/host.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/python/host.lux @@ -13,8 +13,9 @@ ["[0]" dictionary] ["[0]" list]]] [meta - [target - ["_" python (.only Expression SVar)]]]]] + [compiler + [target + ["_" python (.only Expression SVar)]]]]]] [// [common (.only custom)] [//// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/ruby/common.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/ruby/common.lux index f5facd483..96ffcb0c6 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/ruby/common.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/ruby/common.lux @@ -21,9 +21,9 @@ [meta [macro ["^" pattern]] - [target - ["_" ruby (.only Expression Statement)]] [compiler + [target + ["_" ruby (.only Expression Statement)]] [meta [archive (.only Archive)]]]]]] [///// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/ruby/host.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/ruby/host.lux index aebe5f445..b8321b637 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/ruby/host.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/extension/translation/ruby/host.lux @@ -13,8 +13,9 @@ [text ["%" \\format (.only format)]]] [meta - [target - ["_" ruby (.only Var Expression)]]]]] + [compiler + [target + ["_" ruby (.only Var Expression)]]]]]] [// [common (.only custom)] [//// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/primitive.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/primitive.lux index 6deddbdd5..a3e90178d 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/primitive.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/primitive.lux @@ -2,8 +2,9 @@ [library [lux (.except i64) [meta - [target - ["_" c++ (.only Literal Expression)]]]]]) + [compiler + [target + ["_" c++ (.only Literal Expression)]]]]]]) (def .public bit (-> Bit diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/runtime.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/runtime.lux index 7e29191ac..c03a1a813 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/runtime.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/runtime.lux @@ -8,8 +8,9 @@ ["[0]" code] [macro [syntax (.only syntax)]] - [target - ["_" c++]]]]]) + [compiler + [target + ["_" c++]]]]]]) (def .public (host_value of it) (-> _.Type _.Expression diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/type.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/type.lux index f091e288f..9aac0541c 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/type.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/c++/type.lux @@ -2,8 +2,9 @@ [library [lux (.except i64) [meta - [target - ["_" c++]]]]]) + [compiler + [target + ["_" c++]]]]]]) (def .public bit _.Type diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/function.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/function.lux index dadd86f24..9216b36ec 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/function.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/function.lux @@ -10,8 +10,9 @@ [collection ["[0]" list (.use "[1]#[0]" functor mix)]]] [meta - [target - ["_" js (.only Expression Computation Var Statement)]]]]] + [compiler + [target + ["_" js (.only Expression Computation Var Statement)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Phase! Translator)] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/loop.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/loop.lux index 012c47d7e..364c5476f 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/loop.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/loop.lux @@ -13,8 +13,9 @@ [number ["n" nat]]] [meta - [target - ["_" js (.only Computation Var Expression Statement)]]]]] + [compiler + [target + ["_" js (.only Computation Var Expression Statement)]]]]]] ["[0]" // [runtime (.only Operation Phase Phase! Translator Translator!)] ["[1][0]" when] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/primitive.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/primitive.lux index 509108682..3f44bf974 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/primitive.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/primitive.lux @@ -2,8 +2,9 @@ [library [lux (.except i64) [meta - [target - ["_" js (.only Computation)]]]]] + [compiler + [target + ["_" js (.only Computation)]]]]]] ["[0]" // ["[1][0]" runtime]]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/reference.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/reference.lux index 95393bf91..d24f3b328 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/reference.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/reference.lux @@ -2,8 +2,9 @@ [library [lux (.except) [meta - [target - ["_" js (.only Expression)]]]]] + [compiler + [target + ["_" js (.only Expression)]]]]]] [/// [reference (.only System)]]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/runtime.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/runtime.lux index 13790c910..8957e7b7f 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/runtime.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/runtime.lux @@ -23,8 +23,9 @@ ["<[1]>" \\parser]] ["[0]" macro (.only) [syntax (.only syntax)]] - [target - ["_" js (.only Expression Var Computation Statement)]]]]] + [compiler + [target + ["_" js (.only Expression Var Computation Statement)]]]]]] ["[0]" /// ["[1][0]" reference] ["//[1]" /// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/structure.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/structure.lux index 081afea98..3d960d4ef 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/structure.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/structure.lux @@ -4,8 +4,9 @@ [abstract ["[0]" monad (.only do)]] [meta - [target - ["_" js (.only Expression)]]]]] + [compiler + [target + ["_" js (.only Expression)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Translator)] ["[1][0]" primitive] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/when.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/when.lux index a8fc6674f..a5b9e024f 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/when.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/js/when.lux @@ -15,8 +15,9 @@ [meta [macro ["^" pattern]] - [target - ["_" js (.only Expression Computation Var Statement)]]]]] + [compiler + [target + ["_" js (.only Expression Computation Var Statement)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Phase! Translator Translator!)] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm.lux index a3ca297a4..056229af4 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm.lux @@ -12,12 +12,12 @@ ["[0]" meta (.only) [macro ["^" pattern]] - [target - [jvm - ["_" bytecode (.only Bytecode)]]] [type ["[0]" check]] [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)]]] [meta ["[0]" archive (.only Archive)] ["[0]" cache diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function.lux index ec4ad62bf..cacd56250 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function.lux @@ -17,23 +17,24 @@ ["n" nat] ["[0]" i32]]] [meta - [target - [jvm - ["_" bytecode (.only Label Bytecode) (.use "[1]#[0]" monad)] - ["[0]" version] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" field (.only Field)] - ["[0]" method (.only Method)] - ["[0]" class (.only Class)] - ["[0]" attribute] - ["[0]" type (.only Type) - [category (.only Return' Value')] - ["[0]" reflection]] - ["[0]" constant (.only) - [pool (.only Resource)]] - [encoding - ["[0]" name (.only External Internal)] - ["[0]" unsigned]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Label Bytecode) (.use "[1]#[0]" monad)] + ["[0]" version] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" field (.only Field)] + ["[0]" method (.only Method)] + ["[0]" class (.only Class)] + ["[0]" attribute] + ["[0]" type (.only Type) + [category (.only Return' Value')] + ["[0]" reflection]] + ["[0]" constant (.only) + [pool (.only Resource)]] + [encoding + ["[0]" name (.only External Internal)] + ["[0]" unsigned]]]]] [compiler [meta ["[0]" archive (.only Archive)] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/abstract.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/abstract.lux index ea783b42a..e5fe2d05b 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/abstract.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/abstract.lux @@ -5,10 +5,11 @@ [text ["%" \\format]]] [meta - [target - [jvm - ["[0]" type (.only Type) - [category (.only Method)]]]]]]] + [compiler + [target + [jvm + ["[0]" type (.only Type) + [category (.only Method)]]]]]]]] [// [field [constant diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/constant.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/constant.lux index cd54bb0f8..46939d297 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/constant.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/constant.lux @@ -5,14 +5,15 @@ [collection ["[0]" sequence]]] [meta - [target - [jvm - ["[0]" field (.only Field)] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - [type (.only Type) - [category (.only Value)]] - [constant - [pool (.only Resource)]]]]]]]) + [compiler + [target + [jvm + ["[0]" field (.only Field)] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + [type (.only Type) + [category (.only Value)]] + [constant + [pool (.only Resource)]]]]]]]]) (def modifier (Modifier Field) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/constant/arity.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/constant/arity.lux index 0f7856172..a3b14eb57 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/constant/arity.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/constant/arity.lux @@ -2,11 +2,12 @@ [library [lux (.except type) [meta - [target - [jvm - ["[0]" type] - [constant - [pool (.only Resource)]]]]]]] + [compiler + [target + [jvm + ["[0]" type] + [constant + [pool (.only Resource)]]]]]]]] ["[0]" // [///////// [arity (.only Arity)]]]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable.lux index 17ef0b605..f4db0d370 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable.lux @@ -6,15 +6,16 @@ ["[0]" list (.use "[1]#[0]" functor)] ["[0]" sequence]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" field (.only Field)] - [type (.only Type) - [category (.only Value Class)]] - [constant - [pool (.only Resource)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" field (.only Field)] + [type (.only Type) + [category (.only Value Class)]] + [constant + [pool (.only Resource)]]]]]]]] ["[0]" //// ["[1][0]" type] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/count.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/count.lux index c58fad6cf..182361228 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/count.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/count.lux @@ -4,13 +4,14 @@ [control ["[0]" try]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" type] - [encoding - [name (.only External)] - ["[0]" signed]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" type] + [encoding + [name (.only External)] + ["[0]" signed]]]]]]]] ["[0]" //// ["[1][0]" abstract]]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/foreign.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/foreign.lux index ae7170923..362cc7fe9 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/foreign.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/foreign.lux @@ -5,14 +5,15 @@ [collection ["[0]" list]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" field (.only Field)] - [constant - [pool (.only Resource)]] - [type (.only Type) - [category (.only Value Class)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" field (.only Field)] + [constant + [pool (.only Resource)]] + [type (.only Type) + [category (.only Value Class)]]]]]]]] ["[0]" // (.only) ["///[1]" //// ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/partial.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/partial.lux index 7310e30ce..76f169327 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/partial.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/field/variable/partial.lux @@ -10,14 +10,15 @@ [number ["n" nat]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad)] - ["[0]" field (.only Field)] - [type (.only Type) - [category (.only Class)]] - [constant - [pool (.only Resource)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad)] + ["[0]" field (.only Field)] + [type (.only Type) + [category (.only Class)]] + [constant + [pool (.only Resource)]]]]]]]] ["[0]" // (.only) ["[1][0]" count] ["/[1]" // diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method.lux index b00454753..ec3edccb4 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method.lux @@ -2,10 +2,11 @@ [library [lux (.except) [meta - [target - [jvm - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" method (.only Method)]]]]]]) + [compiler + [target + [jvm + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" method (.only Method)]]]]]]]) (def .public modifier (Modifier Method) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/apply.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/apply.lux index 34a552ba6..29259d702 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/apply.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/apply.lux @@ -14,16 +14,17 @@ ["i" int] ["[0]" i32]]] [meta - [target - [jvm - ["_" bytecode (.only Label Bytecode) (.use "[1]#[0]" monad)] - ["[0]" method (.only Method)] - [constant - [pool (.only Resource)]] - [encoding - ["[0]" signed]] - ["[0]" type (.only Type) - ["[0]" category (.only Class)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Label Bytecode) (.use "[1]#[0]" monad)] + ["[0]" method (.only Method)] + [constant + [pool (.only Resource)]] + [encoding + ["[0]" signed]] + ["[0]" type (.only Type) + ["[0]" category (.only Class)]]]]]]]] ["[0]" // (.only) ["[1][0]" reset] ["[1][0]" implementation] @@ -85,75 +86,75 @@ over_extent (i.- (.int apply_arity) (.int function_arity))] (method.method //.modifier ////runtime.apply::name - false (////runtime.apply::type apply_arity) - (list) - {.#Some (when num_partials - 0 (all _.composite - ////reference.this - (..inputs ..this_offset apply_arity) - (//implementation.call class function_arity) - _.areturn) - _ (do _.monad - [@default _.new_label - @labelsH _.new_label - @labelsT (|> _.new_label - (list.repeated (-- num_partials)) - (monad.all _.monad)) - .let [cases (|> (list#composite {.#Item [@labelsH @labelsT]} - (list @default)) - list.enumeration - (list#each (function (_ [stage @case]) - (let [current_partials (|> (list.indices stage) - (list#each (///partial.get class)) - (monad.all _.monad)) - already_partial? (n.> 0 stage) - exact_match? (i.= over_extent (.int stage)) - has_more_than_necessary? (i.> over_extent (.int stage))] + false (////runtime.apply::type apply_arity) + (list) + {.#Some (when num_partials + 0 (all _.composite + ////reference.this + (..inputs ..this_offset apply_arity) + (//implementation.call class function_arity) + _.areturn) + _ (do _.monad + [@default _.new_label + @labelsH _.new_label + @labelsT (|> _.new_label + (list.repeated (-- num_partials)) + (monad.all _.monad)) + .let [cases (|> (list#composite {.#Item [@labelsH @labelsT]} + (list @default)) + list.enumeration + (list#each (function (_ [stage @case]) + (let [current_partials (|> (list.indices stage) + (list#each (///partial.get class)) + (monad.all _.monad)) + already_partial? (n.> 0 stage) + exact_match? (i.= over_extent (.int stage)) + has_more_than_necessary? (i.> over_extent (.int stage))] + (all _.composite + (_.set_label @case) + (cond exact_match? + (all _.composite + ////reference.this + (if already_partial? + (_.invokevirtual class //reset.name (//reset.type class)) + (_#in [])) + current_partials + (..inputs ..this_offset apply_arity) + (//implementation.call class function_arity) + _.areturn) + + has_more_than_necessary? + (let [arity_inputs (|> function_arity (n.- stage)) + additional_inputs (|> apply_arity (n.- arity_inputs))] (all _.composite - (_.set_label @case) - (cond exact_match? - (all _.composite - ////reference.this - (if already_partial? - (_.invokevirtual class //reset.name (//reset.type class)) - (_#in [])) - current_partials - (..inputs ..this_offset apply_arity) - (//implementation.call class function_arity) - _.areturn) - - has_more_than_necessary? - (let [arity_inputs (|> function_arity (n.- stage)) - additional_inputs (|> apply_arity (n.- arity_inputs))] - (all _.composite - ////reference.this - (_.invokevirtual class //reset.name (//reset.type class)) - current_partials - (..inputs ..this_offset arity_inputs) - (//implementation.call class function_arity) - (apply (n.+ ..this_offset arity_inputs) additional_inputs) - _.areturn)) + ////reference.this + (_.invokevirtual class //reset.name (//reset.type class)) + current_partials + (..inputs ..this_offset arity_inputs) + (//implementation.call class function_arity) + (apply (n.+ ..this_offset arity_inputs) additional_inputs) + _.areturn)) - ... (i.< over_extent (.int stage)) - (let [current_environment (|> (list.indices (list.size environment)) - (list#each (///foreign.get class)) - (monad.all _.monad)) - missing_partials (|> _.aconst_null - (list.repeated (|> num_partials (n.- apply_arity) (n.- stage))) - (monad.all _.monad))] - (all _.composite - (_.new class) - _.dup - current_environment - ///count.value - (..increment apply_arity) - current_partials - (..inputs ..this_offset apply_arity) - missing_partials - (_.invokespecial class //init.name (//init.type environment function_arity)) - _.areturn))))))) - (monad.all _.monad))]] - (all _.composite - ///count.value - (_.tableswitch (try.trusted (signed.s4 +0)) @default [@labelsH @labelsT]) - cases)))}))) + ... (i.< over_extent (.int stage)) + (let [current_environment (|> (list.indices (list.size environment)) + (list#each (///foreign.get class)) + (monad.all _.monad)) + missing_partials (|> _.aconst_null + (list.repeated (|> num_partials (n.- apply_arity) (n.- stage))) + (monad.all _.monad))] + (all _.composite + (_.new class) + _.dup + current_environment + ///count.value + (..increment apply_arity) + current_partials + (..inputs ..this_offset apply_arity) + missing_partials + (_.invokespecial class //init.name (//init.type environment function_arity)) + _.areturn))))))) + (monad.all _.monad))]] + (all _.composite + ///count.value + (_.tableswitch (try.trusted (signed.s4 +0)) @default [@labelsH @labelsT]) + cases)))}))) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/implementation.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/implementation.lux index 420872a39..9b961beab 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/implementation.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/implementation.lux @@ -8,15 +8,16 @@ [number ["n" nat]]] [meta - [target - [jvm - ["_" bytecode (.only Label Bytecode)] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" method (.only Method)] - [constant - [pool (.only Resource)]] - ["[0]" type (.only Type) - ["[0]" category (.only Class)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Label Bytecode)] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" method (.only Method)] + [constant + [pool (.only Resource)]] + ["[0]" type (.only Type) + ["[0]" category (.only Class)]]]]]]]] ["[0]" // (.only) ["//[1]" /// ["[0]" runtime] @@ -45,14 +46,14 @@ (def .public (method :it: arity @begin body) (-> (Type Class) Arity Label (Bytecode Any) (Resource Method)) (method.method ..modifier - ..name - false (..type :it: arity) - (list) - {.#Some (all _.composite - (_.set_label @begin) - body - (_.when_continuous _.areturn) - )})) + ..name + false (..type :it: arity) + (list) + {.#Some (all _.composite + (_.set_label @begin) + body + (_.when_continuous _.areturn) + )})) (def .public (call :it: arity) (-> (Type Class) Arity (Bytecode Any)) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/init.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/init.lux index 220755282..ced39ffd6 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/init.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/init.lux @@ -12,16 +12,17 @@ [number ["n" nat]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" method (.only Method)] - [encoding - ["[0]" signed]] - [constant - [pool (.only Resource)]] - ["[0]" type (.only Type) - ["[0]" category (.only Class Value)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" method (.only Method)] + [encoding + ["[0]" signed]] + [constant + [pool (.only Resource)]] + ["[0]" type (.only Type) + ["[0]" category (.only Class Value)]]]]]]]] ["[0]" // (.only) ["[1][0]" implementation] ["/[1]" // @@ -95,11 +96,11 @@ offset_partial (is (-> Register Register) (|>> offset_arity (n.+ 1)))] (method.method //.modifier ..name - false (..type environment arity) - (list) - {.#Some (all _.composite - ////reference.this - (..super environment_size arity) - (store_all environment_size (///foreign.put class) offset_foreign) - (store_all (-- arity) (///partial.put class) offset_partial) - _.return)}))) + false (..type environment arity) + (list) + {.#Some (all _.composite + ////reference.this + (..super environment_size arity) + (store_all environment_size (///foreign.put class) offset_foreign) + (store_all (-- arity) (///partial.put class) offset_partial) + _.return)}))) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/new.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/new.lux index 5429d603f..79d7bcde0 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/new.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/new.lux @@ -10,15 +10,16 @@ [number ["n" nat]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" field (.only Field)] - ["[0]" method (.only Method)] - ["[0]" constant (.only) - [pool (.only Resource)]] - [type (.only Type) - ["[0]" category (.only Class Value Return)]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" field (.only Field)] + ["[0]" method (.only Method)] + ["[0]" constant (.only) + [pool (.only Resource)]] + [type (.only Type) + ["[0]" category (.only Class Value Return)]]]]] [compiler [meta ["[0]" archive (.only Archive)]]]]]] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/reset.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/reset.lux index 7f8154ed8..76d29acde 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/reset.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/function/method/reset.lux @@ -5,14 +5,15 @@ [collection ["[0]" list (.use "[1]#[0]" functor)]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" method (.only Method)] - [constant - [pool (.only Resource)]] - ["[0]" type (.only Type) - ["[0]" category (.only Class)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" method (.only Method)] + [constant + [pool (.only Resource)]] + ["[0]" type (.only Type) + ["[0]" category (.only Class)]]]]]]]] ["[0]" // (.only) ["[1][0]" new] ["/[1]" // @@ -42,10 +43,10 @@ (def .public (method class environment arity) (-> (Type Class) (Environment Synthesis) Arity (Resource Method)) (method.method //.modifier ..name - false (..type class) - (list) - {.#Some (all _.composite - (if (arity.multiary? arity) - (//new.instance' (..current_environment class environment) class environment arity) - ////reference.this) - _.areturn)})) + false (..type class) + (list) + {.#Some (all _.composite + (if (arity.multiary? arity) + (//new.instance' (..current_environment class environment) class environment arity) + ////reference.this) + _.areturn)})) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/host.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/host.lux index 04ebfa62a..092af306d 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/host.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/host.lux @@ -22,19 +22,20 @@ ["[0]" dictionary (.only Dictionary)] ["[0]" sequence]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" loader (.only Library)] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" field (.only Field)] - ["[0]" method (.only Method)] - ["[0]" version] - ["[0]" class (.only Class)] - ["[0]" encoding - ["[1]/[0]" name]] - ["[0]" type (.only) - ["[0]" descriptor]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" loader (.only Library)] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" field (.only Field)] + ["[0]" method (.only Method)] + ["[0]" version] + ["[0]" class (.only Class)] + ["[0]" encoding + ["[1]/[0]" name]] + ["[0]" type (.only) + ["[0]" descriptor]]]]] [compiler [meta [archive diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/loop.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/loop.lux index 98a58a08d..4ddcb2166 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/loop.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/loop.lux @@ -13,9 +13,10 @@ [number ["n" nat]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad)]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode) (.use "[1]#[0]" monad)]]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Translator)] ["[1][0]" value] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/primitive.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/primitive.lux index db64e3fa0..8be9200a9 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/primitive.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/primitive.lux @@ -12,12 +12,13 @@ [meta [macro ["^" pattern]] - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" type] - [encoding - ["[0]" signed]]]]]]]) + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" type] + [encoding + ["[0]" signed]]]]]]]]) (def $Boolean (type.class "java.lang.Boolean" (list))) (def $Long (type.class "java.lang.Long" (list))) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/program.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/program.lux index de928bd0b..1c5701621 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/program.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/program.lux @@ -11,17 +11,18 @@ [collection ["[0]" sequence]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" method (.only Method)] - ["[0]" version] - ["[0]" class (.only Class)] - [encoding - ["[0]" name]] - ["[0]" type (.only) - ["[0]" reflection]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" method (.only Method)] + ["[0]" version] + ["[0]" class (.only Class)] + [encoding + ["[0]" name]] + ["[0]" type (.only) + ["[0]" reflection]]]]] [compiler [language [lux @@ -145,14 +146,14 @@ (-> (-> unit.ID Text) (Program (Bytecode Any) Definition)) (let [super_class (|> ..^Object type.reflection reflection.reflection name.internal) main (method.method ..main::modifier "main" - false ..main::type - (list) - {.#Some (all _.composite - program - ..input_list - ..feed_inputs - ..run_io - _.return)}) + false ..main::type + (list) + {.#Some (all _.composite + program + ..input_list + ..feed_inputs + ..run_io + _.return)}) class (artifact_name context)] [class (<| (\\format.result class.format) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/reference.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/reference.lux index ac72e04a1..d336069d7 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/reference.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/reference.lux @@ -7,12 +7,13 @@ [text ["%" \\format (.only format)]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" type] - [encoding - ["[0]" unsigned]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" type] + [encoding + ["[0]" unsigned]]]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation)] ["[1][0]" value] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/runtime.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/runtime.lux index af848be72..cfdf7ac2a 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/runtime.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/runtime.lux @@ -22,21 +22,22 @@ ["[0]" i64]]] [meta ["[0]" version] - [target - ["[0]" jvm - ["_" bytecode (.only Label Bytecode)] - ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] - ["[0]" field (.only Field)] - ["[0]" method (.only Method)] - ["[1]/[0]" version] - ["[0]" class (.only Class)] - ["[0]" constant (.only) - [pool (.only Resource)]] - [encoding - ["[0]" name]] - ["[0]" type (.only Type) - ["[0]" category (.only Return' Value')] - ["[0]" reflection]]]]]]] + [compiler + [target + ["[0]" jvm + ["_" bytecode (.only Label Bytecode)] + ["[0]" modifier (.only Modifier) (.use "[1]#[0]" monoid)] + ["[0]" field (.only Field)] + ["[0]" method (.only Method)] + ["[1]/[0]" version] + ["[0]" class (.only Class)] + ["[0]" constant (.only) + [pool (.only Resource)]] + [encoding + ["[0]" name]] + ["[0]" type (.only Type) + ["[0]" category (.only Return' Value')] + ["[0]" reflection]]]]]]]] ["[0]" // ["[1][0]" type] ["[1][0]" value] @@ -155,7 +156,7 @@ (_.anewarray //type.value)) $lefts (all _.composite _.iload_0 - (//value.wrap type.int)) + (//value.boxed type.int)) $right? _.aload_1 $value _.aload_2] (method.method ..modifier ..variant::name @@ -228,7 +229,7 @@ (all _.composite _.aload_0 (_.invokestatic //type.frac "parseDouble" (type.method [(list) (list //type.text) type.double (list)])) - (//value.wrap type.double) + (//value.boxed type.double) ))})) (def .public log! @@ -315,7 +316,7 @@ ::lefts (all _.composite (..get ..variant_lefts) - (//value.unwrap type.int)) + (//value.primitive type.int)) ::right? (..get ..variant_right?) ::value (..get ..variant_value) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/structure.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/structure.lux index d9bca3484..c877aa0b8 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/structure.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/structure.lux @@ -12,12 +12,13 @@ [number ["[0]" i32]]] [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" type] - [encoding - ["[0]" signed]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" type] + [encoding + ["[0]" signed]]]]]]]] ["[0]" // ["[1][0]" type] ["[1][0]" runtime (.only Operation Phase Translator)] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/type.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/type.lux index 329c0a02f..37ba4209c 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/type.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/type.lux @@ -2,9 +2,10 @@ [library [lux (.except) [meta - [target - [jvm - ["[0]" type]]]]]]) + [compiler + [target + [jvm + ["[0]" type]]]]]]]) (def .public frac (type.class "java.lang.Double" (list))) (def .public text (type.class "java.lang.String" (list))) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/value.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/value.lux index 70adbaaf3..ad51ce9c4 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/value.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/value.lux @@ -2,18 +2,20 @@ [library [lux (.except Type) [meta - [target - [jvm - ["_" bytecode (.only Bytecode)] - ["[0]" type (.only Type) (.use "[1]#[0]" equivalence) - [category (.only Primitive)] - ["[0]" box]]]]]]]) + [compiler + [target + [jvm + ["_" bytecode (.only Bytecode)] + ["[0]" type (.only Type) (.use "[1]#[0]" equivalence) + [category (.only Primitive)] + ["[0]" box]]]]]]]]) (def .public field "value") (with_template [<name> <boolean> <byte> <short> <int> <long> <float> <double> <char>] [(def (<name> type) - (-> (Type Primitive) Text) + (-> (Type Primitive) + Text) (`` (cond (,, (with_template [<type> <output>] [(type#= <type> type) <output>] @@ -23,28 +25,29 @@ [type.int <int>] [type.long <long>] [type.float <float>] - [type.double <double>] - [type.char <char>])) - ... else - (undefined))))] + [type.double <double>])) + ... type.char + <char>)))] - [primitive_wrapper + [box box.boolean box.byte box.short box.int box.long box.float box.double box.char] - [primitive_unwrap + [value_method "booleanValue" "byteValue" "shortValue" "intValue" "longValue" "floatValue" "doubleValue" "charValue"] ) -(def .public (wrap type) - (-> (Type Primitive) (Bytecode Any)) - (let [wrapper (type.class (primitive_wrapper type) (list))] +(def .public (boxed type) + (-> (Type Primitive) + (Bytecode Any)) + (let [wrapper (type.class (box type) (list))] (_.invokestatic wrapper "valueOf" (type.method [(list) (list type) wrapper (list)])))) -(def .public (unwrap type) - (-> (Type Primitive) (Bytecode Any)) - (let [wrapper (type.class (primitive_wrapper type) (list))] +(def .public (primitive type) + (-> (Type Primitive) + (Bytecode Any)) + (let [wrapper (type.class (box type) (list))] (all _.composite (_.checkcast wrapper) - (_.invokevirtual wrapper (primitive_unwrap type) (type.method [(list) (list) type (list)]))))) + (_.invokevirtual wrapper (value_method type) (type.method [(list) (list) type (list)]))))) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/when.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/when.lux index 4be90b358..d16e62582 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/when.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/jvm/when.lux @@ -17,14 +17,15 @@ [meta [macro ["^" pattern]] - [target - [jvm - ["_" bytecode (.only Label Bytecode) (.use "[1]#[0]" monad) - [environment - [limit - ["[0]" stack]]]] - ["[0]" type (.only Type) - [category (.only Method)]]]]]]] + [compiler + [target + [jvm + ["_" bytecode (.only Label Bytecode) (.use "[1]#[0]" monad) + [environment + [limit + ["[0]" stack]]]] + ["[0]" type (.only Type) + [category (.only Method)]]]]]]]] ["[0]" // ["[1][0]" type] ["[1][0]" runtime (.only Operation Phase Translator)] @@ -118,7 +119,7 @@ [@else _.new_label] (all _.composite ..peek - (//value.unwrap type.boolean) + (//value.primitive type.boolean) (if! @else) then! (_.set_label @else) @@ -153,8 +154,8 @@ <unwrap> fork!))))] - [path|i64_fork (I64 Any) (//value.unwrap type.long) _.dup2 _.pop2 ..long _.lcmp _.ifne] - [path|f64_fork Frac (//value.unwrap type.double) _.dup2 _.pop2 _.double _.dcmpl _.ifne] + [path|i64_fork (I64 Any) (//value.primitive type.long) _.dup2 _.pop2 ..long _.lcmp _.ifne] + [path|f64_fork Frac (//value.primitive type.double) _.dup2 _.pop2 _.double _.dcmpl _.ifne] [path|text_fork Text (of _.monad in []) _.dup _.pop _.string ..equals@Object _.ifeq] ) @@ -269,7 +270,7 @@ @end _.new_label] (all _.composite test! - (//value.unwrap type.boolean) + (//value.primitive type.boolean) (_.ifeq @else) then! (_.when_continuous (_.goto @end)) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/function.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/function.lux index 8a0b43ac5..e0ad98469 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/function.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/function.lux @@ -10,8 +10,9 @@ [collection ["[0]" list (.use "[1]#[0]" functor mix)]]] [meta - [target - ["_" lua (.only Var Expression Label Statement)]]]]] + [compiler + [target + ["_" lua (.only Var Expression Label Statement)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Phase! Translator)] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/loop.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/loop.lux index 6b008d307..bf236869e 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/loop.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/loop.lux @@ -14,8 +14,9 @@ [number ["n" nat]]] [meta - [target - ["_" lua (.only Var Expression Label Statement)]]]]] + [compiler + [target + ["_" lua (.only Var Expression Label Statement)]]]]]] ["[0]" // [runtime (.only Operation Phase Phase! Translator Translator!)] ["[1][0]" when] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/primitive.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/primitive.lux index 48c05d948..3a961c192 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/primitive.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/primitive.lux @@ -2,8 +2,9 @@ [library [lux (.except i64) [meta - [target - ["_" lua (.only Literal)]]]]]) + [compiler + [target + ["_" lua (.only Literal)]]]]]]) (with_template [<name> <type> <implementation>] [(def .public <name> diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/reference.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/reference.lux index f7309bb8c..5f7023011 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/reference.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/reference.lux @@ -2,8 +2,9 @@ [library [lux (.except) [meta - [target - ["_" lua (.only Expression)]]]]] + [compiler + [target + ["_" lua (.only Expression)]]]]]] [/// [reference (.only System)]]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/runtime.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/runtime.lux index 78741fe06..22b4680fe 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/runtime.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/runtime.lux @@ -23,8 +23,9 @@ ["<[1]>" \\parser]] ["[0]" macro (.only) [syntax (.only syntax)]] - ["@" target (.only) - ["_" lua (.only Expression Location Var Computation Literal Label Statement)]]]]] + [compiler + ["@" target (.only) + ["_" lua (.only Expression Location Var Computation Literal Label Statement)]]]]]] ["[0]" /// ["[1][0]" reference] ["//[1]" /// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/structure.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/structure.lux index a15f0833a..5e9ac29f9 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/structure.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/structure.lux @@ -4,8 +4,9 @@ [abstract ["[0]" monad (.only do)]] [meta - [target - ["_" lua (.only Expression)]]]]] + [compiler + [target + ["_" lua (.only Expression)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Translator)] ["[1][0]" primitive] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/when.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/when.lux index 1bb6d979f..3fc103d8b 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/when.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/lua/when.lux @@ -12,8 +12,9 @@ [meta [macro ["^" pattern]] - [target - ["_" lua (.only Expression Var Statement)]]]]] + [compiler + [target + ["_" lua (.only Expression Var Statement)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Phase! Translator Translator!)] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/function.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/function.lux index 49a43f19c..93a026558 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/function.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/function.lux @@ -10,8 +10,9 @@ [collection ["[0]" list (.use "[1]#[0]" functor mix)]]] [meta - [target - ["_" python (.only SVar Expression Statement)]]]]] + [compiler + [target + ["_" python (.only SVar Expression Statement)]]]]]] ["[0]" // [runtime (.only Operation Phase Translator Phase! Translator!)] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/loop.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/loop.lux index 8fa93362b..d453a4daf 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/loop.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/loop.lux @@ -14,8 +14,9 @@ [number ["n" nat]]] [meta - [target - ["_" python (.only Expression SVar Statement)]]]]] + [compiler + [target + ["_" python (.only Expression SVar Statement)]]]]]] ["[0]" // [runtime (.only Operation Phase Translator Phase! Translator!)] ["[1][0]" when] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/primitive.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/primitive.lux index b50c2c965..88c0ec4d2 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/primitive.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/primitive.lux @@ -2,8 +2,9 @@ [library [lux (.except i64) [meta - [target - ["_" python (.only Expression)]]]]] + [compiler + [target + ["_" python (.only Expression)]]]]]] ["[0]" // ["[1][0]" runtime]]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/reference.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/reference.lux index 9b105605e..a9f05d739 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/reference.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/reference.lux @@ -2,8 +2,9 @@ [library [lux (.except) [meta - [target - ["_" python (.only Expression)]]]]] + [compiler + [target + ["_" python (.only Expression)]]]]]] [/// [reference (.only System)]]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/runtime.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/runtime.lux index 4a82f30f1..a3a1278ec 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/runtime.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/runtime.lux @@ -25,8 +25,9 @@ ["<[1]>" \\parser]] ["[0]" macro (.only) [syntax (.only syntax)]] - ["@" target (.only) - ["_" python (.only Expression SVar Computation Literal Statement)]]]]] + [compiler + ["@" target (.only) + ["_" python (.only Expression SVar Computation Literal Statement)]]]]]] ["[0]" /// ["[1][0]" reference] ["//[1]" /// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/structure.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/structure.lux index 747404963..4ac9f1446 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/structure.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/structure.lux @@ -4,8 +4,9 @@ [abstract ["[0]" monad (.only do)]] [meta - [target - ["_" python (.only Expression)]]]]] + [compiler + [target + ["_" python (.only Expression)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Translator)] ["[1][0]" primitive] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/when.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/when.lux index a8555492d..2294ae08a 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/when.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/python/when.lux @@ -16,8 +16,9 @@ [meta [macro ["^" pattern]] - [target - ["_" python (.only Expression SVar Statement)]]]]] + [compiler + [target + ["_" python (.only Expression SVar Statement)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Translator Phase! Translator!)] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/reference.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/reference.lux index 4190683b5..bb5ba85e6 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/reference.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/reference.lux @@ -5,8 +5,9 @@ [text ["%" \\format (.only format)]]] [meta - ["@" target] - ["[0]" version]]]] + ["[0]" version] + [compiler + ["@" target]]]]] [//// ["[0]" phase (.use "[1]#[0]" monad)] ["[0]" translation] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/function.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/function.lux index ea8a104a3..41e0cbc42 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/function.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/function.lux @@ -10,8 +10,9 @@ [collection ["[0]" list (.use "[1]#[0]" functor mix)]]] [meta - [target - ["_" ruby (.only LVar GVar Expression Statement)]]]]] + [compiler + [target + ["_" ruby (.only LVar GVar Expression Statement)]]]]]] ["[0]" // [runtime (.only Operation Phase Translator Phase! Translator!)] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/loop.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/loop.lux index a670b4b4b..a5cf36131 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/loop.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/loop.lux @@ -14,8 +14,9 @@ [number ["n" nat]]] [meta - [target - ["_" ruby (.only Expression LVar Statement)]]]]] + [compiler + [target + ["_" ruby (.only Expression LVar Statement)]]]]]] ["[0]" // [runtime (.only Operation Phase Translator Phase! Translator!)] ["[1][0]" when] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/primitive.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/primitive.lux index 06b100bc5..a103cb4ad 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/primitive.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/primitive.lux @@ -2,8 +2,9 @@ [library [lux (.except i64) [meta - [target - ["_" ruby (.only Literal)]]]]]) + [compiler + [target + ["_" ruby (.only Literal)]]]]]]) (with_template [<type> <name> <implementation>] [(def .public <name> diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/reference.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/reference.lux index 28629dc19..05ea2cc78 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/reference.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/reference.lux @@ -2,8 +2,9 @@ [library [lux (.except) [meta - [target - ["_" ruby (.only Expression)]]]]] + [compiler + [target + ["_" ruby (.only Expression)]]]]]] [/// [reference (.only System)]]) diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/runtime.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/runtime.lux index 8be246d69..c252a29b1 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/runtime.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/runtime.lux @@ -24,8 +24,9 @@ ["<[1]>" \\parser]] ["[0]" macro (.only) [syntax (.only syntax)]] - ["@" target (.only) - ["_" ruby (.only Expression LVar Computation Literal Statement)]]]]] + [compiler + ["@" target (.only) + ["_" ruby (.only Expression LVar Computation Literal Statement)]]]]]] ["[0]" /// ["[1][0]" reference] ["//[1]" /// diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/structure.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/structure.lux index 100ebd54f..18acf6b50 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/structure.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/structure.lux @@ -4,8 +4,9 @@ [abstract ["[0]" monad (.only do)]] [meta - [target - ["_" ruby (.only Expression)]]]]] + [compiler + [target + ["_" ruby (.only Expression)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Translator)] ["[1][0]" primitive] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/when.lux b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/when.lux index f2f982e09..546cce489 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/when.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/phase/translation/ruby/when.lux @@ -16,8 +16,9 @@ [meta [macro ["^" pattern]] - [target - ["_" ruby (.only Expression LVar Statement)]]]]] + [compiler + [target + ["_" ruby (.only Expression LVar Statement)]]]]]] ["[0]" // ["[1][0]" runtime (.only Operation Phase Translator Phase! Translator!)] ["[1][0]" reference] diff --git a/stdlib/source/library/lux/meta/compiler/language/lux/syntax.lux b/stdlib/source/library/lux/meta/compiler/language/lux/syntax.lux index 85a28c8f7..381f3d579 100644 --- a/stdlib/source/library/lux/meta/compiler/language/lux/syntax.lux +++ b/stdlib/source/library/lux/meta/compiler/language/lux/syntax.lux @@ -41,13 +41,14 @@ ["[0]" list] ["[0]" dictionary (.only Dictionary)]]] [meta - ["@" target] ["[0]" symbol] ["[0]" code ["<[1]>" \\parser]] [macro [syntax (.only syntax)] - ["[0]" template]]] + ["[0]" template]] + [compiler + ["@" target]]] [math [number ["n" nat] diff --git a/stdlib/source/library/lux/meta/compiler/meta/cache/artifact.lux b/stdlib/source/library/lux/meta/compiler/meta/cache/artifact.lux index e404e3e4d..2c8458abc 100644 --- a/stdlib/source/library/lux/meta/compiler/meta/cache/artifact.lux +++ b/stdlib/source/library/lux/meta/compiler/meta/cache/artifact.lux @@ -10,7 +10,8 @@ [text ["%" \\format (.only format)]]] [meta - [target (.only Target)]] + [compiler + [target (.only Target)]]] [world ["[0]" file]]]] ["[0]" // diff --git a/stdlib/source/library/lux/meta/compiler/meta/cache/module.lux b/stdlib/source/library/lux/meta/compiler/meta/cache/module.lux index 7b3a122bb..3245f2ead 100644 --- a/stdlib/source/library/lux/meta/compiler/meta/cache/module.lux +++ b/stdlib/source/library/lux/meta/compiler/meta/cache/module.lux @@ -16,7 +16,8 @@ ["[0]" list (.use "[1]#[0]" functor)] ["[0]" dictionary (.only Dictionary)]]] [meta - ["@" target]] + [compiler + ["@" target]]] [world ["[0]" file]]]] ["[0]" // (.only) diff --git a/stdlib/source/library/lux/meta/compiler/meta/context.lux b/stdlib/source/library/lux/meta/compiler/meta/context.lux index ef520917a..f65ba71b8 100644 --- a/stdlib/source/library/lux/meta/compiler/meta/context.lux +++ b/stdlib/source/library/lux/meta/compiler/meta/context.lux @@ -2,7 +2,8 @@ [library [lux (.except #host #target) [meta - ["@" target (.only Target)]] + [compiler + ["@" target (.only Target)]]] [world [file (.only Path)]]]]) diff --git a/stdlib/source/library/lux/meta/compiler/meta/io/archive.lux b/stdlib/source/library/lux/meta/compiler/meta/io/archive.lux index b62fa4307..92c9c99a4 100644 --- a/stdlib/source/library/lux/meta/compiler/meta/io/archive.lux +++ b/stdlib/source/library/lux/meta/compiler/meta/io/archive.lux @@ -20,11 +20,12 @@ ["[0]" dictionary (.only Dictionary)] ["[0]" sequence (.only Sequence)]]] [meta - ["@" target (.only Target)] ["[0]" configuration (.only Configuration)] ["[0]" version] [macro - ["^" pattern]]] + ["^" pattern]] + [compiler + ["@" target (.only Target)]]] [world ["[0]" file]]]] ["[0]" // (.only) diff --git a/stdlib/source/library/lux/meta/compiler/meta/io/context.lux b/stdlib/source/library/lux/meta/compiler/meta/io/context.lux index 471ffe6f0..bd6cd284f 100644 --- a/stdlib/source/library/lux/meta/compiler/meta/io/context.lux +++ b/stdlib/source/library/lux/meta/compiler/meta/io/context.lux @@ -20,8 +20,6 @@ [collection ["[0]" dictionary (.only Dictionary)] ["[0]" list]]] - [meta - ["@" target]] [world ["[0]" file]]]] ["[0]" // (.only Context) diff --git a/stdlib/source/library/lux/meta/compiler/meta/packager/jvm.lux b/stdlib/source/library/lux/meta/compiler/meta/packager/jvm.lux index 18577f342..d83ae1caf 100644 --- a/stdlib/source/library/lux/meta/compiler/meta/packager/jvm.lux +++ b/stdlib/source/library/lux/meta/compiler/meta/packager/jvm.lux @@ -21,10 +21,11 @@ ["n" nat] ["i" int]]] [meta - [target - [jvm - [encoding - ["[0]" name]]]]] + [compiler + [target + [jvm + [encoding + ["[0]" name]]]]]] [world ["[0]" file]]]] ["[0]" // (.only Packager) diff --git a/stdlib/source/library/lux/meta/compiler/meta/packager/ruby.lux b/stdlib/source/library/lux/meta/compiler/meta/packager/ruby.lux index 04e3ef0a3..8ef41f448 100644 --- a/stdlib/source/library/lux/meta/compiler/meta/packager/ruby.lux +++ b/stdlib/source/library/lux/meta/compiler/meta/packager/ruby.lux @@ -22,8 +22,9 @@ ["[0]" nat]]] [meta [type (.only sharing)] - [target - ["_" ruby]]] + [compiler + [target + ["_" ruby]]]] [world ["[0]" file]]]] ["[0]" // (.only Packager) diff --git a/stdlib/source/library/lux/meta/compiler/meta/packager/scheme.lux b/stdlib/source/library/lux/meta/compiler/meta/packager/scheme.lux index e36749bb3..df317cf47 100644 --- a/stdlib/source/library/lux/meta/compiler/meta/packager/scheme.lux +++ b/stdlib/source/library/lux/meta/compiler/meta/packager/scheme.lux @@ -21,8 +21,9 @@ ["[0]" tar]]] [meta [type (.only sharing)] - [target - ["_" scheme]]] + [compiler + [target + ["_" scheme]]]] [world ["[0]" file] [time diff --git a/stdlib/source/library/lux/meta/target.lux b/stdlib/source/library/lux/meta/compiler/target.lux index 11094325d..11094325d 100644 --- a/stdlib/source/library/lux/meta/target.lux +++ b/stdlib/source/library/lux/meta/compiler/target.lux diff --git a/stdlib/source/library/lux/meta/target/c++.lux b/stdlib/source/library/lux/meta/compiler/target/c++.lux index 952cc0c0b..952cc0c0b 100644 --- a/stdlib/source/library/lux/meta/target/c++.lux +++ b/stdlib/source/library/lux/meta/compiler/target/c++.lux diff --git a/stdlib/source/library/lux/meta/target/common_lisp.lux b/stdlib/source/library/lux/meta/compiler/target/common_lisp.lux index 60f46f514..60f46f514 100644 --- a/stdlib/source/library/lux/meta/target/common_lisp.lux +++ b/stdlib/source/library/lux/meta/compiler/target/common_lisp.lux diff --git a/stdlib/source/library/lux/meta/target/js.lux b/stdlib/source/library/lux/meta/compiler/target/js.lux index c158d9651..c158d9651 100644 --- a/stdlib/source/library/lux/meta/target/js.lux +++ b/stdlib/source/library/lux/meta/compiler/target/js.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/attribute.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute.lux index 04d68cb41..04d68cb41 100644 --- a/stdlib/source/library/lux/meta/target/jvm/attribute.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/attribute/code.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/code.lux index a350fde0f..a350fde0f 100644 --- a/stdlib/source/library/lux/meta/target/jvm/attribute/code.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/code.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/attribute/code/exception.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/code/exception.lux index 08c7cc129..08c7cc129 100644 --- a/stdlib/source/library/lux/meta/target/jvm/attribute/code/exception.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/code/exception.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/attribute/constant.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/constant.lux index 830632337..830632337 100644 --- a/stdlib/source/library/lux/meta/target/jvm/attribute/constant.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/constant.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/attribute/line_number_table.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/line_number_table.lux index 1a3e73ece..1a3e73ece 100644 --- a/stdlib/source/library/lux/meta/target/jvm/attribute/line_number_table.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/line_number_table.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/bytecode.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode.lux index dc51330fa..dc51330fa 100644 --- a/stdlib/source/library/lux/meta/target/jvm/bytecode.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/bytecode/address.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/address.lux index 6bcb3655a..6bcb3655a 100644 --- a/stdlib/source/library/lux/meta/target/jvm/bytecode/address.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/address.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/bytecode/environment.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/environment.lux index 9fd4d7250..9fd4d7250 100644 --- a/stdlib/source/library/lux/meta/target/jvm/bytecode/environment.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/environment.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/bytecode/environment/limit.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/environment/limit.lux index ce5801345..ce5801345 100644 --- a/stdlib/source/library/lux/meta/target/jvm/bytecode/environment/limit.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/environment/limit.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/bytecode/environment/limit/registry.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/environment/limit/registry.lux index 9737de12c..9737de12c 100644 --- a/stdlib/source/library/lux/meta/target/jvm/bytecode/environment/limit/registry.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/environment/limit/registry.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/bytecode/environment/limit/stack.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/environment/limit/stack.lux index 7517c2b60..7517c2b60 100644 --- a/stdlib/source/library/lux/meta/target/jvm/bytecode/environment/limit/stack.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/environment/limit/stack.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/bytecode/instruction.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/instruction.lux index d8a6963ae..d8a6963ae 100644 --- a/stdlib/source/library/lux/meta/target/jvm/bytecode/instruction.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/instruction.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/bytecode/jump.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/jump.lux index 13c5f8f07..13c5f8f07 100644 --- a/stdlib/source/library/lux/meta/target/jvm/bytecode/jump.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/bytecode/jump.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/class.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/class.lux index 5ffb48007..5ffb48007 100644 --- a/stdlib/source/library/lux/meta/target/jvm/class.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/class.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/constant.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/constant.lux index 8039a7b47..f5cdd6cf8 100644 --- a/stdlib/source/library/lux/meta/target/jvm/constant.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/constant.lux @@ -18,12 +18,13 @@ ["[0]" int] ["[0]" frac]]] [meta - ["@" target] [macro ["^" pattern] ["[0]" template]] [type - ["[0]" nominal (.except def #name)]]]]] + ["[0]" nominal (.except def #name)]] + [compiler + ["@" target]]]]] ["[0]" / ["[1][0]" tag] ["/[1]" // diff --git a/stdlib/source/library/lux/meta/target/jvm/constant/pool.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/constant/pool.lux index 46adfd870..46adfd870 100644 --- a/stdlib/source/library/lux/meta/target/jvm/constant/pool.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/constant/pool.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/constant/tag.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/constant/tag.lux index 66a66f48a..66a66f48a 100644 --- a/stdlib/source/library/lux/meta/target/jvm/constant/tag.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/constant/tag.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/encoding/name.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/encoding/name.lux index 108ad8752..108ad8752 100644 --- a/stdlib/source/library/lux/meta/target/jvm/encoding/name.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/encoding/name.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/encoding/signed.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/encoding/signed.lux index 428f5ef8a..428f5ef8a 100644 --- a/stdlib/source/library/lux/meta/target/jvm/encoding/signed.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/encoding/signed.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/encoding/unsigned.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/encoding/unsigned.lux index afd21a166..afd21a166 100644 --- a/stdlib/source/library/lux/meta/target/jvm/encoding/unsigned.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/encoding/unsigned.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/field.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/field.lux index 443d34f16..443d34f16 100644 --- a/stdlib/source/library/lux/meta/target/jvm/field.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/field.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/index.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/index.lux index 522684c1c..522684c1c 100644 --- a/stdlib/source/library/lux/meta/target/jvm/index.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/index.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/loader.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/loader.lux index 689fab421..70c85cc93 100644 --- a/stdlib/source/library/lux/meta/target/jvm/loader.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/loader.lux @@ -18,7 +18,8 @@ ["[0]" array] ["[0]" dictionary (.only Dictionary)]]] [meta - ["@" target]]]]) + [compiler + ["@" target]]]]]) (type .public Library (Atom (Dictionary Text Binary))) diff --git a/stdlib/source/library/lux/meta/target/jvm/magic.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/magic.lux index e5fc0a09d..e5fc0a09d 100644 --- a/stdlib/source/library/lux/meta/target/jvm/magic.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/magic.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/method.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/method.lux index a4689017a..a4689017a 100644 --- a/stdlib/source/library/lux/meta/target/jvm/method.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/method.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/modifier.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/modifier.lux index 59359f103..59359f103 100644 --- a/stdlib/source/library/lux/meta/target/jvm/modifier.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/modifier.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/modifier/inner.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/modifier/inner.lux index 6a2a188fe..6a2a188fe 100644 --- a/stdlib/source/library/lux/meta/target/jvm/modifier/inner.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/modifier/inner.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/reflection.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/reflection.lux index d62ce7c3f..d62ce7c3f 100644 --- a/stdlib/source/library/lux/meta/target/jvm/reflection.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/reflection.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type.lux index e1cbb4374..e1cbb4374 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type/alias.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type/alias.lux index 8bc4f29e8..8bc4f29e8 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type/alias.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type/alias.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type/box.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type/box.lux index 367efa5ed..367efa5ed 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type/box.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type/box.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type/category.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type/category.lux index 5ab489d09..5ab489d09 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type/category.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type/category.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type/descriptor.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type/descriptor.lux index 2327f07b2..2327f07b2 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type/descriptor.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type/descriptor.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type/lux.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type/lux.lux index 5e9b87242..5e9b87242 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type/lux.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type/lux.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type/parser.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type/parser.lux index 2ad5b09a2..2ad5b09a2 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type/parser.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type/parser.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type/reflection.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type/reflection.lux index 1478a0494..1478a0494 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type/reflection.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type/reflection.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/type/signature.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/type/signature.lux index 1f7eb3a53..1f7eb3a53 100644 --- a/stdlib/source/library/lux/meta/target/jvm/type/signature.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/type/signature.lux diff --git a/stdlib/source/library/lux/meta/target/jvm/version.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/version.lux index 8e8b82dcc..8e8b82dcc 100644 --- a/stdlib/source/library/lux/meta/target/jvm/version.lux +++ b/stdlib/source/library/lux/meta/compiler/target/jvm/version.lux diff --git a/stdlib/source/library/lux/meta/target/lua.lux b/stdlib/source/library/lux/meta/compiler/target/lua.lux index bc5ead9aa..32aec9b08 100644 --- a/stdlib/source/library/lux/meta/target/lua.lux +++ b/stdlib/source/library/lux/meta/compiler/target/lua.lux @@ -18,7 +18,6 @@ ["i" int] ["f" frac]]] [meta - ["@" target] ["[0]" code (.only) ["<[1]>" \\parser]] [macro diff --git a/stdlib/source/library/lux/meta/target/php.lux b/stdlib/source/library/lux/meta/compiler/target/php.lux index cb4d0a622..98c95a5aa 100644 --- a/stdlib/source/library/lux/meta/target/php.lux +++ b/stdlib/source/library/lux/meta/compiler/target/php.lux @@ -17,7 +17,6 @@ ["n" nat] ["f" frac]]] [meta - ["@" target] ["[0]" code (.only) ["<[1]>" \\parser]] [macro diff --git a/stdlib/source/library/lux/meta/target/python.lux b/stdlib/source/library/lux/meta/compiler/target/python.lux index c1c8fe105..c1c8fe105 100644 --- a/stdlib/source/library/lux/meta/target/python.lux +++ b/stdlib/source/library/lux/meta/compiler/target/python.lux diff --git a/stdlib/source/library/lux/meta/target/r.lux b/stdlib/source/library/lux/meta/compiler/target/r.lux index e95eff6df..e95eff6df 100644 --- a/stdlib/source/library/lux/meta/target/r.lux +++ b/stdlib/source/library/lux/meta/compiler/target/r.lux diff --git a/stdlib/source/library/lux/meta/target/ruby.lux b/stdlib/source/library/lux/meta/compiler/target/ruby.lux index c47ea733c..f9e92db02 100644 --- a/stdlib/source/library/lux/meta/target/ruby.lux +++ b/stdlib/source/library/lux/meta/compiler/target/ruby.lux @@ -17,7 +17,6 @@ ["n" nat] ["f" frac]]] [meta - ["@" target] ["[0]" code (.only) ["<[1]>" \\parser]] [macro diff --git a/stdlib/source/library/lux/meta/target/scheme.lux b/stdlib/source/library/lux/meta/compiler/target/scheme.lux index 4c8049fce..da0e850c0 100644 --- a/stdlib/source/library/lux/meta/target/scheme.lux +++ b/stdlib/source/library/lux/meta/compiler/target/scheme.lux @@ -16,7 +16,6 @@ ["n" nat] ["f" frac]]] [meta - ["@" target] [macro ["[0]" template]] [type diff --git a/stdlib/source/library/lux/meta/extension.lux b/stdlib/source/library/lux/meta/extension.lux index e44345492..d9379061f 100644 --- a/stdlib/source/library/lux/meta/extension.lux +++ b/stdlib/source/library/lux/meta/extension.lux @@ -10,19 +10,19 @@ [collection ["[0]" list (.use "[1]#[0]" functor)]]] [meta - ["@" target (.only) - (.,, (.for "JVM" - [jvm - ["_" bytecode (.only Bytecode)]] - - ... else - [/]))] ["[0]" code (.only) ["<c>" \\parser (.only Parser)]] [macro (.only with_symbols) [syntax (.only syntax)] ["[0]" template]] [compiler + ["@" target (.only) + (.,, (.for "JVM" + [jvm + ["_" bytecode (.only Bytecode)]] + + ... else + [/]))] [language [lux ["[0]" phase] diff --git a/stdlib/source/library/lux/meta/type.lux b/stdlib/source/library/lux/meta/type.lux index 8413debc3..68bfbb5bd 100644 --- a/stdlib/source/library/lux/meta/type.lux +++ b/stdlib/source/library/lux/meta/type.lux @@ -18,14 +18,15 @@ [number ["n" nat (.use "[1]#[0]" decimal)]]] ["[0]" meta (.only) - ["@" target] ["[0]" location] ["[0]" symbol (.use "[1]#[0]" equivalence codec)] ["[0]" code (.only) ["<[1]>" \\parser (.only Parser)]] ["[0]" macro (.only) [syntax (.only syntax)] - ["[0]" expansion]]]]]) + ["[0]" expansion]] + [compiler + ["@" target]]]]]) (with_template [<name> <tag>] [(def .public (<name> type) diff --git a/stdlib/source/library/lux/meta/type/check.lux b/stdlib/source/library/lux/meta/type/check.lux index f5e596bd2..0a962dabf 100644 --- a/stdlib/source/library/lux/meta/type/check.lux +++ b/stdlib/source/library/lux/meta/type/check.lux @@ -19,9 +19,10 @@ [number ["n" nat (.use "[1]#[0]" decimal)]]] [meta - ["@" target] [macro - ["^" pattern]]]]] + ["^" pattern]] + [compiler + ["@" target]]]]] ["[0]" // (.use "[1]#[0]" equivalence)]) (def !n#= diff --git a/stdlib/source/library/lux/program.lux b/stdlib/source/library/lux/program.lux index 9c9e5148a..58befea91 100644 --- a/stdlib/source/library/lux/program.lux +++ b/stdlib/source/library/lux/program.lux @@ -9,11 +9,12 @@ [concurrency ["[0]" thread]]] [meta - ["@" target] ["[0]" code (.only) ["<[1]>" \\parser]] [macro (.only with_symbols) - [syntax (.only syntax)]]]]] + [syntax (.only syntax)]] + [compiler + ["@" target]]]]] ["</>" \\parser]) (type .public Program diff --git a/stdlib/source/library/lux/test/property.lux b/stdlib/source/library/lux/test/property.lux index 592c8fce3..7469f0442 100644 --- a/stdlib/source/library/lux/test/property.lux +++ b/stdlib/source/library/lux/test/property.lux @@ -28,10 +28,11 @@ ["n" nat] ["f" frac]]] [meta - ["@" target] ["[0]" symbol] ["[0]" code ["<[1]>" \\parser]] + [compiler + ["@" target]] [macro [syntax (.only syntax)]]] [world diff --git a/stdlib/source/library/lux/web/html.lux b/stdlib/source/library/lux/web/html.lux index a9191443c..4a78edf04 100644 --- a/stdlib/source/library/lux/web/html.lux +++ b/stdlib/source/library/lux/web/html.lux @@ -15,8 +15,9 @@ [meta [macro ["[0]" template]] - [target - ["[0]" js]] + [compiler + [target + ["[0]" js]]] [type ["[0]" nominal (.except def)]]] [world diff --git a/stdlib/source/library/lux/world/console.lux b/stdlib/source/library/lux/world/console.lux index ca2224585..de09925d3 100644 --- a/stdlib/source/library/lux/world/console.lux +++ b/stdlib/source/library/lux/world/console.lux @@ -17,7 +17,8 @@ [char (.only Char)] ["%" \\format (.only format)]]] [meta - ["@" target]]]]) + [compiler + ["@" target]]]]]) (type .public (Console !) (Interface diff --git a/stdlib/source/library/lux/world/environment.lux b/stdlib/source/library/lux/world/environment.lux index 9e6ff9657..53c05aa3c 100644 --- a/stdlib/source/library/lux/world/environment.lux +++ b/stdlib/source/library/lux/world/environment.lux @@ -28,9 +28,10 @@ [number ["i" int]]] [meta - ["@" target] ["[0]" macro (.only) - ["[0]" template]]]]] + ["[0]" template]] + [compiler + ["@" target]]]]] ["[0]" \\parser] [// [file (.only Path)] diff --git a/stdlib/source/library/lux/world/file.lux b/stdlib/source/library/lux/world/file.lux index 997330d7f..d3ec7994a 100644 --- a/stdlib/source/library/lux/world/file.lux +++ b/stdlib/source/library/lux/world/file.lux @@ -32,9 +32,10 @@ ["i" int] ["f" frac]]] [meta - ["@" target] [macro - ["[0]" template]]]]] + ["[0]" template]] + [compiler + ["@" target]]]]] [// [time ["[0]" instant (.only Instant)] diff --git a/stdlib/source/library/lux/world/file/watch.lux b/stdlib/source/library/lux/world/file/watch.lux index 89abd42b1..8e727668d 100644 --- a/stdlib/source/library/lux/world/file/watch.lux +++ b/stdlib/source/library/lux/world/file/watch.lux @@ -27,9 +27,10 @@ [number ["n" nat]]] [meta - ["@" target] [type - ["[0]" nominal (.only representation abstraction)]]] + ["[0]" nominal (.only representation abstraction)]] + [compiler + ["@" target]]] [world [time ["[0]" instant (.only Instant) (.use "[1]#[0]" equivalence)]]]]] diff --git a/stdlib/source/library/lux/world/net/http/client.lux b/stdlib/source/library/lux/world/net/http/client.lux index 827fd4c72..8367aab1b 100644 --- a/stdlib/source/library/lux/world/net/http/client.lux +++ b/stdlib/source/library/lux/world/net/http/client.lux @@ -21,12 +21,13 @@ ["n" nat] ["i" int]]] [meta - ["@" target] ["[0]" code (.only) ["<[1]>" \\parser]] [macro [syntax (.only syntax)] - ["[0]" template]]]]] + ["[0]" template]] + [compiler + ["@" target]]]]] ["[0]" // (.only) [response (.only Response)] ["[0]" header (.only Headers)] diff --git a/stdlib/source/library/lux/world/shell.lux b/stdlib/source/library/lux/world/shell.lux index d74bdc120..7ea914772 100644 --- a/stdlib/source/library/lux/world/shell.lux +++ b/stdlib/source/library/lux/world/shell.lux @@ -28,7 +28,8 @@ [number (.only hex) ["n" nat]]] [meta - ["@" target]]]] + [compiler + ["@" target]]]]] [// [file (.only Path)] [environment diff --git a/stdlib/source/library/lux/world/time/instant.lux b/stdlib/source/library/lux/world/time/instant.lux index b6a5589fa..10fd96d57 100644 --- a/stdlib/source/library/lux/world/time/instant.lux +++ b/stdlib/source/library/lux/world/time/instant.lux @@ -21,9 +21,10 @@ ["i" int (.use "[1]#[0]" interval)] ["f" frac]]] [meta - ["@" target] [type - ["[0]" nominal (.except def)]]]]] + ["[0]" nominal (.except def)]] + [compiler + ["@" target]]]]] ["[0]" // (.only Time) ["[0]" duration (.only Duration)] ["[0]" year (.only Year)] diff --git a/stdlib/source/library/lux/world/time/solar.lux b/stdlib/source/library/lux/world/time/solar.lux index 0cac56e36..41ee560c7 100644 --- a/stdlib/source/library/lux/world/time/solar.lux +++ b/stdlib/source/library/lux/world/time/solar.lux @@ -14,9 +14,10 @@ ["i" int] ["f" frac]]] [meta - ["@" target] [type - ["[0]" nominal (.except def)]]]]] + ["[0]" nominal (.except def)]] + [compiler + ["@" target]]]]] ["[0]" // ["[1]" instant] ["[0]" duration (.only Duration)]]) |