diff options
Diffstat (limited to 'stdlib/source/library/lux/meta')
136 files changed, 621 insertions, 543 deletions
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#= |