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