From 9224e54bf175ebe13c3fae42f04b649413c737e7 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Thu, 7 Apr 2022 03:27:59 -0400 Subject: De-sigil-ification: & --- .github/workflows/setup_aedifex/action.yml | 2 +- licentia/source/program/licentia/license/grant.lux | 28 ++-- lux-cl/source/program.lux | 2 +- lux-js/source/program.lux | 12 +- lux-jvm/source/program.lux | 2 +- lux-lua/source/program.lux | 6 +- lux-mode/lux-mode.el | 2 +- lux-php/source/program.lux | 2 +- lux-python/source/program.lux | 18 ++- lux-r/source/program.lux | 2 +- lux-ruby/source/program.lux | 2 +- lux-scheme/source/program.lux | 2 +- stdlib/source/documentation/lux.lux | 16 +- stdlib/source/library/lux.lux | 164 ++++++++++----------- stdlib/source/library/lux/abstract/apply.lux | 8 +- stdlib/source/library/lux/abstract/comonad.lux | 2 +- .../source/library/lux/abstract/comonad/cofree.lux | 12 +- stdlib/source/library/lux/abstract/enum.lux | 2 +- stdlib/source/library/lux/abstract/hash.lux | 6 +- stdlib/source/library/lux/abstract/interval.lux | 50 +++---- stdlib/source/library/lux/abstract/monad.lux | 2 +- stdlib/source/library/lux/abstract/monad/free.lux | 16 +- stdlib/source/library/lux/abstract/order.lux | 6 +- .../library/lux/control/concurrency/async.lux | 4 +- .../source/library/lux/control/concurrency/frp.lux | 4 +- .../source/library/lux/control/concurrency/stm.lux | 4 +- stdlib/source/library/lux/control/continuation.lux | 30 ++-- .../source/library/lux/control/function/mutual.lux | 38 ++--- stdlib/source/library/lux/control/io.lux | 4 +- stdlib/source/library/lux/control/lazy.lux | 4 +- stdlib/source/library/lux/control/maybe.lux | 12 +- stdlib/source/library/lux/control/parser.lux | 38 ++--- .../source/library/lux/control/parser/analysis.lux | 6 +- stdlib/source/library/lux/control/parser/code.lux | 2 +- stdlib/source/library/lux/control/parser/json.lux | 4 +- .../library/lux/control/parser/synthesis.lux | 10 +- stdlib/source/library/lux/control/parser/type.lux | 2 +- stdlib/source/library/lux/control/pipe.lux | 2 +- stdlib/source/library/lux/control/reader.lux | 8 +- stdlib/source/library/lux/control/region.lux | 8 +- .../source/library/lux/control/security/policy.lux | 4 +- stdlib/source/library/lux/control/state.lux | 20 +-- stdlib/source/library/lux/control/thread.lux | 4 +- stdlib/source/library/lux/control/try.lux | 8 +- stdlib/source/library/lux/control/writer.lux | 8 +- stdlib/source/library/lux/data/bit.lux | 20 +-- .../lux/data/collection/dictionary/ordered.lux | 16 +- stdlib/source/library/lux/data/collection/list.lux | 18 +-- .../source/library/lux/data/collection/queue.lux | 2 +- .../library/lux/data/collection/sequence.lux | 4 +- stdlib/source/library/lux/data/collection/set.lux | 2 +- .../library/lux/data/collection/set/multi.lux | 2 +- .../library/lux/data/collection/set/ordered.lux | 10 +- .../source/library/lux/data/collection/stream.lux | 6 +- .../library/lux/data/collection/tree/zipper.lux | 2 +- stdlib/source/library/lux/data/color.lux | 2 +- stdlib/source/library/lux/data/format/css.lux | 12 +- .../source/library/lux/data/format/css/value.lux | 24 +-- stdlib/source/library/lux/data/format/html.lux | 12 +- stdlib/source/library/lux/data/format/tar.lux | 4 +- stdlib/source/library/lux/data/identity.lux | 24 +-- stdlib/source/library/lux/data/product.lux | 16 +- stdlib/source/library/lux/data/store.lux | 2 +- stdlib/source/library/lux/data/sum.lux | 6 +- stdlib/source/library/lux/data/text.lux | 4 +- stdlib/source/library/lux/data/text/regex.lux | 24 +-- .../source/library/lux/data/text/unicode/block.lux | 2 +- stdlib/source/library/lux/data/trace.lux | 2 +- stdlib/source/library/lux/documentation.lux | 22 +-- stdlib/source/library/lux/ffi.jvm.lux | 4 +- stdlib/source/library/lux/ffi.lux | 32 ++-- stdlib/source/library/lux/ffi.old.lux | 4 +- stdlib/source/library/lux/ffi.php.lux | 100 ++++++------- stdlib/source/library/lux/locale.lux | 2 +- stdlib/source/library/lux/locale/language.lux | 2 +- stdlib/source/library/lux/locale/territory.lux | 2 +- stdlib/source/library/lux/macro.lux | 4 +- stdlib/source/library/lux/macro/pattern.lux | 40 ++--- stdlib/source/library/lux/macro/syntax.lux | 2 +- stdlib/source/library/lux/math.lux | 2 +- stdlib/source/library/lux/math/modular.lux | 2 +- stdlib/source/library/lux/math/number/frac.lux | 4 +- stdlib/source/library/lux/math/number/i16.lux | 2 +- stdlib/source/library/lux/math/number/i32.lux | 2 +- stdlib/source/library/lux/math/number/i64.lux | 6 +- stdlib/source/library/lux/math/number/i8.lux | 2 +- stdlib/source/library/lux/math/number/int.lux | 8 +- stdlib/source/library/lux/math/number/nat.lux | 8 +- stdlib/source/library/lux/math/number/ratio.lux | 2 +- stdlib/source/library/lux/math/number/rev.lux | 8 +- stdlib/source/library/lux/math/random.lux | 4 +- stdlib/source/library/lux/meta.lux | 4 +- stdlib/source/library/lux/meta/symbol.lux | 4 +- stdlib/source/library/lux/target/common_lisp.lux | 50 +++---- stdlib/source/library/lux/target/jvm/bytecode.lux | 6 +- .../library/lux/target/jvm/constant/pool.lux | 2 +- .../library/lux/target/jvm/encoding/signed.lux | 2 +- .../library/lux/target/jvm/encoding/unsigned.lux | 2 +- stdlib/source/library/lux/target/jvm/method.lux | 2 +- stdlib/source/library/lux/target/jvm/type.lux | 2 +- .../library/lux/target/jvm/type/signature.lux | 2 +- stdlib/source/library/lux/target/lua.lux | 2 +- stdlib/source/library/lux/target/php.lux | 6 +- stdlib/source/library/lux/target/python.lux | 4 +- stdlib/source/library/lux/target/scheme.lux | 6 +- stdlib/source/library/lux/time.lux | 4 +- stdlib/source/library/lux/time/date.lux | 4 +- stdlib/source/library/lux/time/day.lux | 6 +- stdlib/source/library/lux/time/duration.lux | 4 +- stdlib/source/library/lux/time/instant.lux | 4 +- stdlib/source/library/lux/time/month.lux | 6 +- stdlib/source/library/lux/time/year.lux | 2 +- .../library/lux/tool/compiler/default/init.lux | 8 +- .../library/lux/tool/compiler/default/platform.lux | 14 +- .../compiler/language/lux/analysis/complex.lux | 4 +- .../compiler/language/lux/analysis/coverage.lux | 2 +- .../compiler/language/lux/analysis/inference.lux | 4 +- .../compiler/language/lux/phase/analysis/case.lux | 8 +- .../language/lux/phase/analysis/complex.lux | 4 +- .../tool/compiler/language/lux/phase/directive.lux | 8 +- .../language/lux/phase/extension/analysis/js.lux | 10 +- .../language/lux/phase/extension/analysis/jvm.lux | 68 ++++----- .../language/lux/phase/extension/analysis/lua.lux | 8 +- .../language/lux/phase/extension/analysis/lux.lux | 2 +- .../language/lux/phase/extension/analysis/php.lux | 10 +- .../lux/phase/extension/analysis/python.lux | 8 +- .../language/lux/phase/extension/analysis/ruby.lux | 8 +- .../lux/phase/extension/analysis/scheme.lux | 2 +- .../language/lux/phase/extension/directive/jvm.lux | 2 +- .../lux/phase/extension/generation/jvm/host.lux | 4 +- .../lux/phase/extension/generation/php/common.lux | 6 +- .../lux/phase/generation/common_lisp/case.lux | 36 ++--- .../lux/phase/generation/common_lisp/loop.lux | 62 ++++---- .../language/lux/phase/generation/jvm/function.lux | 18 +-- .../jvm/function/method/implementation.lux | 2 +- .../phase/generation/jvm/function/method/init.lux | 2 +- .../language/lux/phase/generation/jvm/runtime.lux | 12 +- .../language/lux/phase/generation/php/function.lux | 2 +- .../lux/phase/generation/r/procedure/host.lux | 4 +- .../compiler/language/lux/phase/synthesis/case.lux | 2 +- .../compiler/language/lux/phase/synthesis/loop.lux | 4 +- .../lux/tool/compiler/language/lux/synthesis.lux | 22 +-- .../compiler/language/lux/synthesis/access.lux | 2 +- .../language/lux/synthesis/access/member.lux | 2 +- .../language/lux/synthesis/access/side.lux | 2 +- .../compiler/language/lux/synthesis/simple.lux | 2 +- .../lux/tool/compiler/meta/archive/unit.lux | 2 +- .../compiler/meta/cache/dependency/artifact.lux | 4 +- .../lux/tool/compiler/meta/packager/ruby.lux | 4 +- stdlib/source/library/lux/tool/compiler/phase.lux | 2 +- .../source/library/lux/tool/compiler/reference.lux | 2 +- .../lux/tool/compiler/reference/variable.lux | 2 +- stdlib/source/library/lux/type.lux | 8 +- stdlib/source/library/lux/type/abstract.lux | 32 ++-- stdlib/source/library/lux/type/check.lux | 14 +- stdlib/source/library/lux/type/resource.lux | 2 +- stdlib/source/library/lux/type/unit.lux | 4 +- stdlib/source/library/lux/world/db/jdbc/output.lux | 32 ++-- .../library/lux/world/output/video/resolution.lux | 2 +- stdlib/source/library/lux/world/shell.lux | 2 +- stdlib/source/program/aedifex/artifact.lux | 4 +- stdlib/source/program/aedifex/command/auto.lux | 2 +- stdlib/source/program/aedifex/command/build.lux | 63 ++++---- stdlib/source/program/aedifex/command/clean.lux | 11 +- stdlib/source/program/aedifex/command/deploy.lux | 3 +- stdlib/source/program/aedifex/command/install.lux | 6 +- stdlib/source/program/aedifex/command/pom.lux | 49 +++--- stdlib/source/program/aedifex/command/test.lux | 44 +++--- stdlib/source/program/aedifex/command/version.lux | 6 +- stdlib/source/program/aedifex/dependency.lux | 4 +- .../program/aedifex/dependency/deployment.lux | 24 +-- stdlib/source/program/aedifex/format.lux | 8 +- stdlib/source/program/aedifex/hash.lux | 2 +- stdlib/source/program/aedifex/input.lux | 2 +- stdlib/source/program/aedifex/parser.lux | 11 +- stdlib/source/program/aedifex/pom.lux | 6 +- stdlib/source/program/aedifex/repository/local.lux | 60 ++++---- .../source/program/aedifex/repository/remote.lux | 4 +- stdlib/source/program/aedifex/runtime.lux | 23 +-- stdlib/source/program/compositor.lux | 8 +- .../source/specification/lux/abstract/interval.lux | 2 +- stdlib/source/test/aedifex/cache.lux | 2 +- stdlib/source/test/aedifex/cli.lux | 4 +- stdlib/source/test/lux.lux | 8 +- stdlib/source/test/lux/control/security/policy.lux | 2 +- .../source/test/lux/data/collection/dictionary.lux | 2 +- stdlib/source/test/lux/data/collection/set.lux | 2 +- .../test/lux/data/collection/set/ordered.lux | 6 +- stdlib/source/test/lux/data/collection/stream.lux | 2 +- stdlib/source/test/lux/data/collection/tree.lux | 40 ++--- .../test/lux/data/collection/tree/finger.lux | 4 +- stdlib/source/test/lux/math/number/i64.lux | 2 +- stdlib/source/test/lux/meta.lux | 22 +-- stdlib/source/test/lux/meta/configuration.lux | 2 +- .../tool/compiler/language/lux/analysis/module.lux | 16 +- stdlib/source/test/lux/tool/compiler/meta/cli.lux | 6 +- stdlib/source/test/lux/type/check.lux | 8 +- stdlib/source/test/lux/world/file.lux | 4 +- 198 files changed, 1084 insertions(+), 1048 deletions(-) diff --git a/.github/workflows/setup_aedifex/action.yml b/.github/workflows/setup_aedifex/action.yml index fa70014a3..873623b2f 100644 --- a/.github/workflows/setup_aedifex/action.yml +++ b/.github/workflows/setup_aedifex/action.yml @@ -13,7 +13,7 @@ runs: # Presumably, whoever invokes this action already has done a checkout. # - uses: actions/checkout@v2 - - run: wget https://github.com/LuxLang/lux/releases/download/0.6.5/aedifex_do_not_touch_3.jar && mv aedifex_do_not_touch_3.jar aedifex.jar + - run: wget https://github.com/LuxLang/lux/releases/download/0.6.5/aedifex_do_not_touch_4.jar && mv aedifex_do_not_touch_4.jar aedifex.jar shell: bash - run: mv ./shell/lux.sh ./lux.sh diff --git a/licentia/source/program/licentia/license/grant.lux b/licentia/source/program/licentia/license/grant.lux index 08a989bce..9be9208f1 100644 --- a/licentia/source/program/licentia/license/grant.lux +++ b/licentia/source/program/licentia/license/grant.lux @@ -1,15 +1,15 @@ (.using - [library - [lux "*" - [data - ["[0]" text - ["%" format {"+" format}]]]]] + [library + [lux "*" + [data + ["[0]" text + ["%" format {"+" format}]]]]] + [// + [time {"+" Days}] + ["_" term] + ["[0]" definition] [// - [time {"+" Days}] - ["_" term] - ["[0]" definition] - [// - ["$" document]]]) + ["$" document]]]) (def: grant_header (format "Subject to the terms and conditions of " _.license @@ -61,10 +61,10 @@ " under " _.license " for " _.licensed_work " shall terminate as of the date such litigation is filed")] - ($.paragraph (list& grant - (if retaliation? - (list retaliation_clause) - (list)))))) + ($.paragraph (partial_list grant + (if retaliation? + (list retaliation_clause) + (list)))))) (def: .public date ($.sentence (format "The licenses granted in " _.license diff --git a/lux-cl/source/program.lux b/lux-cl/source/program.lux index 67735f838..e75ed2c19 100644 --- a/lux-cl/source/program.lux +++ b/lux-cl/source/program.lux @@ -343,7 +343,7 @@ (IO (Platform [_.Tag Register] (_.Expression Any) (_.Expression Any))) (do io.monad [host ..host] - (wrap [platform.#&file_system (file.async file.default) + (wrap [platform.#file_system (file.async file.default) platform.#host host platform.#phase common_lisp.generate platform.#runtime runtime.generate diff --git a/lux-js/source/program.lux b/lux-js/source/program.lux index 678418bca..76302fa55 100644 --- a/lux-js/source/program.lux +++ b/lux-js/source/program.lux @@ -631,11 +631,11 @@ (IO (Platform [Register Text] _.Expression _.Statement)) (do io.monad [host ..host] - (in [platform.#&file_system (for @.jvm (file.async file.default) - @.jvm (file.async file.default) - ... TODO: Handle this in a safer manner. - ... This would crash if the compiler was run on a browser. - @.js (maybe.trusted file.default)) + (in [platform.#file_system (for @.jvm (file.async file.default) + @.jvm (file.async file.default) + ... TODO: Handle this in a safer manner. + ... This would crash if the compiler was run on a browser. + @.js (maybe.trusted file.default)) platform.#host host platform.#phase js.generate platform.#runtime runtime.generate @@ -725,7 +725,7 @@ service [(packager.package _.use_strict _.code _.then ..scope) (format (cli.target service) - (# (the platform.#&file_system platform) separator) + (# (the platform.#file_system platform) separator) "program" (the context.#artifact_extension context))])] (..declare_success! [])) diff --git a/lux-jvm/source/program.lux b/lux-jvm/source/program.lux index c1f70ec10..c10bb4ff8 100644 --- a/lux-jvm/source/program.lux +++ b/lux-jvm/source/program.lux @@ -118,7 +118,7 @@ [[loader host] /host.host] (in [loader host - [platform.#&file_system (file.async file.default) + [platform.#file_system (file.async file.default) platform.#host host platform.#phase /.generate diff --git a/lux-lua/source/program.lux b/lux-lua/source/program.lux index 1d4a2518b..5c3185252 100644 --- a/lux-lua/source/program.lux +++ b/lux-lua/source/program.lux @@ -312,7 +312,7 @@ [5] )) - (pattern (list& (~~ (static.literals function.identity (..input/* 5))) input/+)) + (pattern (partial_list (~~ (static.literals function.identity (..input/* 5))) input/+)) (again ((as (~~ (static.literal function.identity (..function/* 5))) lux_function) (~~ (static.literals function.identity (..input/* 5)))) @@ -849,7 +849,7 @@ (do io.monad [[baggage host] ..host] (in [baggage - [platform.#&file_system (file.async file.default) + [platform.#file_system (file.async file.default) platform.#host host platform.#phase lua.generate platform.#runtime runtime.generate @@ -861,7 +861,7 @@ (IO (Platform [Register _.Label] _.Expression _.Statement)) (do io.monad [host ..host] - (in [platform.#&file_system (file.async file.default) + (in [platform.#file_system (file.async file.default) platform.#host host platform.#phase lua.generate platform.#runtime runtime.generate diff --git a/lux-mode/lux-mode.el b/lux-mode/lux-mode.el index 5a7951f57..715632d7c 100644 --- a/lux-mode/lux-mode.el +++ b/lux-mode/lux-mode.el @@ -383,7 +383,7 @@ Called by `imenu--generic-function'." (data//record (altRE "the" "has" "revised")) (data//interface (altRE "open:" "implementation" "#")) (data//implicit (altRE "implicit:" "##")) - (data//collection (altRE "list" "list&" "sequence" "tree")) + (data//collection (altRE "list" "partial_list" "sequence" "tree")) ;; Code (code//quotation (altRE "`" "`'" "'" "~" "~\\+" "~!" "~'")) (code//super-quotation (altRE "``" "~~")) diff --git a/lux-php/source/program.lux b/lux-php/source/program.lux index b12d19917..460051029 100644 --- a/lux-php/source/program.lux +++ b/lux-php/source/program.lux @@ -506,7 +506,7 @@ (IO (Platform [Nat _.Label] _.Expression _.Statement)) (do io.monad [host ..host] - (wrap [platform.#&file_system (file.async file.default) + (wrap [platform.#file_system (file.async file.default) platform.#host host platform.#phase php.generate platform.#runtime runtime.generate diff --git a/lux-python/source/program.lux b/lux-python/source/program.lux index d12ea355c..718cb9d95 100644 --- a/lux-python/source/program.lux +++ b/lux-python/source/program.lux @@ -287,8 +287,8 @@ [7] [8])) - (pattern (list& (~~ (static.literals code.local (inputs/? 8))) - input/+)) + (pattern (partial_list (~~ (static.literals code.local (inputs/? 8))) + input/+)) (again ((as (~~ (static.literal function.identity (function/? 8))) it) (~~ (static.literals code.local (inputs/? 8)))) input/+)))))))))))) @@ -528,7 +528,7 @@ (IO (Platform Register (_.Expression Any) (_.Statement Any))) (do io.monad [host ..host] - (in [platform.#&file_system (file.async file.default) + (in [platform.#file_system (file.async file.default) platform.#host host platform.#phase python.generate platform.#runtime runtime.generate @@ -555,12 +555,16 @@ (def: (scope body) (-> (_.Statement Any) (_.Statement Any)) (let [@program (_.var "lux_program") - max_recursion (|> (_.int +10) (_.** (_.int +6))) - ; _.statement] + ; _.statement + $sys (_.__import__/1 (_.unicode "sys")) + ... $threading (_.__import__/1 (_.unicode "threading")) + current_limit (_.do "getrecursionlimit" (list) $sys) + old_limit current_limit + new_limit (_.bit_shl (_.int +2) old_limit)] (<| (_.comment "-*- coding: utf-8 -*-") ($_ _.then - (; (|> (_.__import__/1 (_.unicode "sys")) - (_.do "setrecursionlimit" (list max_recursion)))) + (; (_.do "setrecursionlimit" (list new_limit) $sys)) + ... (; (_.do "stack_size" (list current_limit) $threading)) (_.def @program (list) body) (; (_.apply/* (list) @program)) )))) diff --git a/lux-r/source/program.lux b/lux-r/source/program.lux index 3fa4acc3c..873d41a5e 100644 --- a/lux-r/source/program.lux +++ b/lux-r/source/program.lux @@ -550,7 +550,7 @@ (do io.monad [[interpreter host] ..host] (wrap [interpreter - [platform.#&file_system (file.async file.default) + [platform.#file_system (file.async file.default) platform.#host host platform.#phase r.generate platform.#runtime runtime.generate diff --git a/lux-ruby/source/program.lux b/lux-ruby/source/program.lux index 1e06e6664..43b261494 100644 --- a/lux-ruby/source/program.lux +++ b/lux-ruby/source/program.lux @@ -961,7 +961,7 @@ (IO (Platform Register _.Expression _.Statement)) (do io.monad [host ..host] - (in [platform.#&file_system (file.async file.default) + (in [platform.#file_system (file.async file.default) platform.#host host platform.#phase ruby.generate platform.#runtime runtime.generate diff --git a/lux-scheme/source/program.lux b/lux-scheme/source/program.lux index 7d116dfb6..f131350d5 100644 --- a/lux-scheme/source/program.lux +++ b/lux-scheme/source/program.lux @@ -405,7 +405,7 @@ (IO (Platform _.Var _.Expression _.Expression)) (do io.monad [host ..host] - (wrap [platform.#&file_system (file.async file.default) + (wrap [platform.#file_system (file.async file.default) platform.#host host platform.#phase scheme.generate platform.#runtime runtime.generate diff --git a/stdlib/source/documentation/lux.lux b/stdlib/source/documentation/lux.lux index 63fa76177..31161cb4f 100644 --- a/stdlib/source/documentation/lux.lux +++ b/stdlib/source/documentation/lux.lux @@ -175,12 +175,12 @@ [(is (List Nat) (list 0 1 2 3))]) -(documentation: /.list& +(documentation: /.partial_list "List literals, with the last element being a tail-list." [(is (List Nat) - (list& 0 1 2 3 - (is (List Nat) - (list 4 5 6))))]) + (partial_list 0 1 2 3 + (is (List Nat) + (list 4 5 6))))]) (documentation: /.Union "Union types." @@ -466,7 +466,7 @@ "Express a value that implements an interface." [(is (Order Int) (implementation - (def: &equivalence + (def: equivalence equivalence) (def: (< reference subject) (< reference subject)) @@ -476,7 +476,7 @@ "Interface implementation." [(implementation: .public order (Order Int) - (def: &equivalence + (def: equivalence equivalence) (def: (< test subject) (< test subject)))]) @@ -511,7 +511,7 @@ [(type: .public (Order a) (Interface (is (Equivalence a) - &equivalence) + equivalence) (is (-> a a Bit) <)))]) @@ -931,7 +931,7 @@ ..Ex ..-> ..list - ..list& + ..partial_list ..Union ..Tuple ..Or diff --git a/stdlib/source/library/lux.lux b/stdlib/source/library/lux.lux index bf523ec7c..5c6c625a8 100644 --- a/stdlib/source/library/lux.lux +++ b/stdlib/source/library/lux.lux @@ -1165,12 +1165,12 @@ (meta#in {#Item (list#mix |#Item| |#End| (list#reversed xs)) {#End}})) -(macro:' .public (list& xs) +(macro:' .public (partial_list xs) ({{#Item last init} (meta#in (list (list#mix |#Item| last init))) _ - (failure "Wrong syntax for list&")} + (failure "Wrong syntax for partial_list")} (list#reversed xs))) (macro:' .public (Union tokens) @@ -1512,8 +1512,8 @@ (-> Text a ($' PList a) ($' PList a))) ({{#Item [k' v'] plist'} (if (text#= k k') - (list& [k v] plist') - (list& [k' v'] (plist#with k v plist'))) + (partial_list [k v] plist') + (partial_list [k' v'] (plist#with k v plist'))) {#End} (list [k v])} @@ -2065,7 +2065,7 @@ xs {#Item [x xs']} - (list& x sep (list#interposed sep xs'))} + (partial_list x sep (list#interposed sep xs'))} xs)) (def:''' .private (single_expansion token) @@ -2423,18 +2423,18 @@ [??? (macro? name)] (if ??? (do meta_monad - [init_expansion (single_expansion (form$ (list& (symbol$ name) (form$ args) body branches')))] + [init_expansion (single_expansion (form$ (partial_list (symbol$ name) (form$ args) body branches')))] (expander init_expansion)) (do meta_monad [sub_expansion (expander branches')] - (in (list& (form$ (list& (symbol$ name) args)) - body - sub_expansion))))) + (in (partial_list (form$ (partial_list (symbol$ name) args)) + body + sub_expansion))))) {#Item pattern {#Item body branches'}} (do meta_monad [sub_expansion (expander branches')] - (in (list& pattern body sub_expansion))) + (in (partial_list pattern body sub_expansion))) {#End} (do meta_monad [] (in (list))) @@ -2464,7 +2464,7 @@ [pattern+ (full_expansion #1 pattern)] (case pattern+ {#Item pattern' {#End}} - (in (list& pattern' body branches)) + (in (partial_list pattern' body branches)) _ (failure "`pattern` can only expand to 1 pattern."))) @@ -2474,7 +2474,7 @@ (macro:' .private (pattern#or tokens) (case tokens - (pattern (list& [_ {#Form patterns}] body branches)) + (pattern (partial_list [_ {#Form patterns}] body branches)) (case patterns {#End} (failure "pattern#or cannot have 0 patterns") @@ -2522,7 +2522,7 @@ (macro:' .public (function tokens) (case (is (Maybe [Text Code (List Code) Code]) (case tokens - (pattern (list [_ {#Form (list& [_ {#Symbol ["" name]}] head tail)}] body)) + (pattern (list [_ {#Form (partial_list [_ {#Symbol ["" name]}] head tail)}] body)) {#Some name head tail body} _ @@ -2578,7 +2578,7 @@ (do maybe_monad [it (someP itP tokens) .let [[tokens tail] it]] - (in [tokens (list& head tail)])) + (in [tokens (partial_list head tail)])) {#None} {#Some [tokens (list)]})) @@ -2598,7 +2598,7 @@ (All (_ a) (-> (Parser a) (Parser a))) (case tokens - (pattern (list& [_ {#Tuple tuple}] tokens')) + (pattern (partial_list [_ {#Tuple tuple}] tokens')) (do maybe_monad [it (parsed itP tuple)] (in [tokens' it])) @@ -2609,7 +2609,7 @@ (def:' .private (bindingP tokens) (Parser [Text Code]) (case tokens - (pattern (list& [_ {#Symbol ["" name]}] value &rest)) + (pattern (partial_list [_ {#Symbol ["" name]}] value &rest)) {#Some [&rest [name value]]} _ @@ -2627,7 +2627,7 @@ (def:' .private (anyP tokens) (Parser Code) (case tokens - (pattern (list& code tokens')) + (pattern (partial_list code tokens')) {#Some [tokens' code]} _ @@ -2636,7 +2636,7 @@ (def:' .private (localP tokens) (-> (List Code) (Maybe [(List Code) Text])) (case tokens - (pattern (list& [_ {#Symbol ["" local]}] tokens')) + (pattern (partial_list [_ {#Symbol ["" local]}] tokens')) {#Some [tokens' local]} _ @@ -2664,7 +2664,7 @@ [(def:' .private ( tokens) (-> (List Code) (Maybe [(List Code) [Text (List )]])) (case tokens - (pattern (list& [_ {#Form local_declaration}] tokens')) + (pattern (partial_list [_ {#Form local_declaration}] tokens')) (do maybe_monad [% (localP local_declaration) .let' [[local_declaration name] %] @@ -2684,7 +2684,7 @@ (def:' .private (export_policyP tokens) (-> (List Code) [(List Code) Code]) (case tokens - (pattern (list& candidate tokens')) + (pattern (partial_list candidate tokens')) (case candidate [_ {#Bit it}] [tokens' candidate] @@ -2718,11 +2718,11 @@ (-> (List Code) (Maybe [(List Code) [(Maybe Code) Code]])) (case tokens ... TB - (pattern (list& type body tokens')) + (pattern (partial_list type body tokens')) {#Some [tokens' [{#Some type} body]]} ... B - (pattern (list& body tokens')) + (pattern (partial_list body tokens')) {#Some [tokens' [{#None} body]]} _ @@ -2808,7 +2808,7 @@ (template [
] [(macro: .public ( tokens) (case (list#reversed tokens) - (pattern (list& last init)) + (pattern (partial_list last init)) (meta#in (list (list#mix (is (-> Code Code Code) (function (_ pre post) (` ))) last @@ -2850,13 +2850,13 @@ (list input) {#Some idx} - (list& ("lux text clip" 0 idx input) - (text#all_split_by splitter - (let [after_offset ("lux i64 +" 1 idx) - after_length ("lux i64 -" - after_offset - ("lux text size" input))] - ("lux text clip" after_offset after_length input)))))) + (partial_list ("lux text clip" 0 idx input) + (text#all_split_by splitter + (let [after_offset ("lux i64 +" 1 idx) + after_length ("lux i64 -" + after_offset + ("lux text size" input))] + ("lux text clip" after_offset after_length input)))))) (def: (item idx xs) (All (_ a) @@ -2921,10 +2921,10 @@ (-> Type Type (Maybe Type)) (case type_fn {#UnivQ env body} - {#Some (reduced (list& type_fn param env) body)} + {#Some (reduced (partial_list type_fn param env) body)} {#ExQ env body} - {#Some (reduced (list& type_fn param env) body)} + {#Some (reduced (partial_list type_fn param env) body)} {#Apply A F} (do maybe_monad @@ -2942,7 +2942,7 @@ (-> Type (List Type)) (case type { left right} - (list& left ( right)) + (partial_list left ( right)) _ (list type)))] @@ -3224,7 +3224,7 @@ {#End} (in (list)))] - (in (list& head tail))) + (in (partial_list head tail))) {#End} {#Some (list)})) @@ -3232,10 +3232,10 @@ (def: (caseP tokens) (-> (List Code) (Maybe [(List Code) [Text Code]])) (case tokens - (pattern (list& [_ {#Variant (list [_ {#Symbol ["" niladic]}])}] tokens')) + (pattern (partial_list [_ {#Variant (list [_ {#Symbol ["" niladic]}])}] tokens')) {#Some [tokens' [niladic (` .Any)]]} - (pattern (list& [_ {#Variant (list& [_ {#Symbol ["" polyadic]}] caseT)}] tokens')) + (pattern (partial_list [_ {#Variant (partial_list [_ {#Symbol ["" polyadic]}] caseT)}] tokens')) {#Some [tokens' [polyadic (` (..Tuple (~+ caseT)))]]} _ @@ -3255,7 +3255,7 @@ (def: (slotP tokens) (-> (List Code) (Maybe [(List Code) [Text Code]])) (case tokens - (pattern (list& [_ {#Symbol ["" slot]}] type tokens')) + (pattern (partial_list [_ {#Symbol ["" slot]}] type tokens')) {#Some [tokens' [slot type]]} _ @@ -3290,7 +3290,7 @@ (def: (textP tokens) (-> (List Code) (Maybe [(List Code) Text])) (case tokens - (pattern (list& [_ {#Text it}] tokens')) + (pattern (partial_list [_ {#Text it}] tokens')) {#Some [tokens' it]} _ @@ -3300,7 +3300,7 @@ (-> Code (Meta (Tuple Code (Maybe (Either (List Text) (List Text)))))) ({[_ {#Form {#Item [_ {#Symbol declarer}] parameters}}] (do meta_monad - [declaration (single_expansion (form$ (list& (symbol$ declarer) parameters)))] + [declaration (single_expansion (form$ (partial_list (symbol$ declarer) parameters)))] (case declaration (pattern (list type [_ {#Variant tags}])) (case (everyP textP tags) @@ -3411,24 +3411,24 @@ (def: (referrals_parser tokens) (-> (List Code) (Meta [Referrals (List Code)])) (case tokens - (pattern#or (pattern (list& [_ {#Variant (list& [_ {#Text "+"}] defs)}] tokens')) - (pattern (list& [_ {#Variant (list& [_ {#Text "only"}] defs)}] tokens'))) + (pattern#or (pattern (partial_list [_ {#Variant (partial_list [_ {#Text "+"}] defs)}] tokens')) + (pattern (partial_list [_ {#Variant (partial_list [_ {#Text "only"}] defs)}] tokens'))) (do meta_monad [defs' (..referral_references defs)] (in [{#Only defs'} tokens'])) - (pattern#or (pattern (list& [_ {#Variant (list& [_ {#Text "-"}] defs)}] tokens')) - (pattern (list& [_ {#Variant (list& [_ {#Text "exclude"}] defs)}] tokens'))) + (pattern#or (pattern (partial_list [_ {#Variant (partial_list [_ {#Text "-"}] defs)}] tokens')) + (pattern (partial_list [_ {#Variant (partial_list [_ {#Text "exclude"}] defs)}] tokens'))) (do meta_monad [defs' (..referral_references defs)] (in [{#Exclude defs'} tokens'])) - (pattern#or (pattern (list& [_ {#Text "*"}] tokens')) - (pattern (list& [_ {#Text "all"}] tokens'))) + (pattern#or (pattern (partial_list [_ {#Text "*"}] tokens')) + (pattern (partial_list [_ {#Text "all"}] tokens'))) (meta#in [{#All} tokens']) - (pattern#or (pattern (list& [_ {#Text "_"}] tokens')) - (pattern (list& [_ {#Text "ignore"}] tokens'))) + (pattern#or (pattern (partial_list [_ {#Text "_"}] tokens')) + (pattern (partial_list [_ {#Text "ignore"}] tokens'))) (meta#in [{#Ignore} tokens']) _ @@ -3440,7 +3440,7 @@ {#End} (meta#in [{#End} {#End}]) - (pattern (list& [_ {#Form (list& [_ {#Text prefix}] structs)}] parts')) + (pattern (partial_list [_ {#Form (partial_list [_ {#Text prefix}] structs)}] parts')) (do meta_monad [structs' (monad#each meta_monad (function (_ struct) @@ -3589,7 +3589,7 @@ #refer_open (list)]]))) ... Nested - (pattern [_ {#Tuple (list& [_ {#Symbol ["" module_name]}] extra)}]) + (pattern [_ {#Tuple (partial_list [_ {#Symbol ["" module_name]}] extra)}]) (do meta_monad [absolute_module_name (case (normal_parallel_path relative_root module_name) {#Some parallel_path} @@ -3607,13 +3607,13 @@ sub_imports _ - (list& [#import_name absolute_module_name - #import_alias {#None} - #import_refer [#refer_defs referral - #refer_open openings]] - sub_imports)))) + (partial_list [#import_name absolute_module_name + #import_alias {#None} + #import_refer [#refer_defs referral + #refer_open openings]] + sub_imports)))) - (pattern [_ {#Tuple (list& [_ {#Text alias}] [_ {#Symbol ["" module_name]}] extra)}]) + (pattern [_ {#Tuple (partial_list [_ {#Text alias}] [_ {#Symbol ["" module_name]}] extra)}]) (do meta_monad [absolute_module_name (case (normal_parallel_path relative_root module_name) {#Some parallel_path} @@ -3632,11 +3632,11 @@ sub_imports _ - (list& [#import_name absolute_module_name - #import_alias {#Some module_alias} - #import_refer [#refer_defs referral - #refer_open openings]] - sub_imports)))) + (partial_list [#import_name absolute_module_name + #import_alias {#Some module_alias} + #import_refer [#refer_defs referral + #refer_open openings]] + sub_imports)))) ... Unrecognized syntax. _ @@ -3878,7 +3878,7 @@ {#Item x xs'} (case ys {#Item y ys'} - (list& [x y] (zipped_2 xs' ys')) + (partial_list [x y] (zipped_2 xs' ys')) _ (list)) @@ -3888,10 +3888,10 @@ (macro: .public (open tokens) (case tokens - (pattern (list& [_ {#Form (list [_ {#Text alias}])}] body branches)) + (pattern (partial_list [_ {#Form (list [_ {#Text alias}])}] body branches)) (do meta_monad [g!temp (..generated_symbol "temp")] - (in (list& g!temp (` (..open (~ g!temp) (~ (text$ alias)) (~ body))) branches))) + (in (partial_list g!temp (` (..open (~ g!temp) (~ (text$ alias)) (~ body))) branches))) (pattern (list [_ {#Symbol name}] [_ {#Text alias}] body)) (do meta_monad @@ -3944,7 +3944,7 @@ (macro: .public (cond tokens) (case (list#reversed tokens) - (pattern (list& else branches')) + (pattern (partial_list else branches')) (case (pairs branches') {#Some branches'} (meta#in (list (list#mix (is (-> [Code Code] Code Code) @@ -4163,7 +4163,7 @@ (macro: (refer tokens) (case tokens - (pattern (list& [_ {#Text module_name}] options)) + (pattern (partial_list [_ {#Text module_name}] options)) (do meta_monad [=refer (referrals module_name options)] (referral_definitions module_name =refer)) @@ -4180,10 +4180,10 @@ (list (' "*")) {#Only defs} - (list (variant$ (list& (' "+") (list#each local$ defs)))) + (list (variant$ (partial_list (' "+") (list#each local$ defs)))) {#Exclude defs} - (list (variant$ (list& (' "-") (list#each local$ defs)))) + (list (variant$ (partial_list (' "-") (list#each local$ defs)))) {#Ignore} (list) @@ -4191,8 +4191,8 @@ {#Nothing} (list))) openings (list#each (function (_ [alias structs]) - (form$ (list& (text$ (..module_alias (list (alias_stand_in 0) module_alias) alias)) - (list#each local$ structs)))) + (form$ (partial_list (text$ (..module_alias (list (alias_stand_in 0) module_alias) alias)) + (list#each local$ structs)))) r_opens)] (` ((~! ..refer) (~ (text$ module_name)) (~+ localizations) @@ -4204,7 +4204,7 @@ (meta#in (list (` (..let [(..open (~ (text$ (alias_stand_in 0)))) (~ struct)] (~ (symbol$ member)))))) - (pattern (list& struct member args)) + (pattern (partial_list struct member args)) (meta#in (list (` ((..# (~ struct) (~ member)) (~+ args))))) _ @@ -4364,10 +4364,10 @@ (macro: .private (pattern#template tokens) (case tokens - (pattern (list& [_ {#Form (list [_ {#Tuple bindings}] - [_ {#Tuple templates}])}] - [_ {#Form data}] - branches)) + (pattern (partial_list [_ {#Form (list [_ {#Tuple bindings}] + [_ {#Tuple templates}])}] + [_ {#Form data}] + branches)) (case (is (Maybe (List Code)) (do maybe_monad [bindings' (monad#each maybe_monad symbol_short bindings) @@ -4414,7 +4414,7 @@ {#End} {#Item y ys'} - (list& x y (interleaved xs' ys'))))) + (partial_list x y (interleaved xs' ys'))))) (def: (type_code type) (-> Type Code) @@ -4659,7 +4659,7 @@ (macro: (pattern#multi tokens) (case tokens - (pattern (list& [_meta {#Form levels}] body next_branches)) + (pattern (partial_list [_meta {#Form levels}] body next_branches)) (do meta_monad [mlc (multi_level_case^ levels) .let [initial_bind? (case mlc @@ -4923,8 +4923,8 @@ ... {library/lux/tool/compiler/language/lux/generation.no_buffer_for_saving_code} ... Artifact ID: 0 ... Which only ever happens for the Python compiler. - (list& (` ("lux def" (~ g!_) [] #0)) - =refers) + (partial_list (` ("lux def" (~ g!_) [] #0)) + =refers) =refers)}))) (def: (embedded_expansions code) @@ -4985,10 +4985,10 @@ (def: (methodP tokens) (-> (List Code) (Maybe [(List Code) [Text Code]])) (case tokens - (pattern (list& [_ {#Form (list [_ {#Text "lux type check"}] - type - [_ {#Symbol ["" name]}])}] - tokens')) + (pattern (partial_list [_ {#Form (list [_ {#Text "lux type check"}] + type + [_ {#Symbol ["" name]}])}] + tokens')) {#Some [tokens' [name type]]} _ diff --git a/stdlib/source/library/lux/abstract/apply.lux b/stdlib/source/library/lux/abstract/apply.lux index 0d3a0fd1e..9a63c3747 100644 --- a/stdlib/source/library/lux/abstract/apply.lux +++ b/stdlib/source/library/lux/abstract/apply.lux @@ -9,7 +9,7 @@ (type: .public (Apply f) (Interface (is (Functor f) - &functor) + functor) (is (All (_ a b) (-> (f a) (f (-> a b)) (f b))) on))) @@ -20,9 +20,9 @@ ... TODO: Replace (All (_ a) (F (G a))) with (functor.Then F G) (Apply (All (_ a) (F (G a)))))) - (def: &functor - (functor.composite (the &functor f_apply) - (the &functor g_apply))) + (def: functor + (functor.composite (the functor f_apply) + (the functor g_apply))) (def: (on fgx fgf) ... TODO: Switch from this version to the one below (in comments) ASAP. diff --git a/stdlib/source/library/lux/abstract/comonad.lux b/stdlib/source/library/lux/abstract/comonad.lux index a0dd97014..72057bf06 100644 --- a/stdlib/source/library/lux/abstract/comonad.lux +++ b/stdlib/source/library/lux/abstract/comonad.lux @@ -15,7 +15,7 @@ (type: .public (CoMonad w) (Interface (is (Functor w) - &functor) + functor) (is (All (_ a) (-> (w a) a)) out) diff --git a/stdlib/source/library/lux/abstract/comonad/cofree.lux b/stdlib/source/library/lux/abstract/comonad/cofree.lux index 1e173e7d4..4a198b0f6 100644 --- a/stdlib/source/library/lux/abstract/comonad/cofree.lux +++ b/stdlib/source/library/lux/abstract/comonad/cofree.lux @@ -1,9 +1,9 @@ (.using - [library - [lux "*"]] - [// {"+" CoMonad} - [// - [functor {"+" Functor}]]]) + [library + [lux "*"]] + [// {"+" CoMonad} + [// + [functor {"+" Functor}]]]) (type: .public (CoFree F a) [a (F (CoFree F a))]) @@ -17,7 +17,7 @@ (implementation: .public (comonad dsl) (All (_ F) (-> (Functor F) (CoMonad (CoFree F)))) - (def: &functor (..functor dsl)) + (def: functor (..functor dsl)) (def: (out [head tail]) head) diff --git a/stdlib/source/library/lux/abstract/enum.lux b/stdlib/source/library/lux/abstract/enum.lux index 5ea97da4d..280c2b4d0 100644 --- a/stdlib/source/library/lux/abstract/enum.lux +++ b/stdlib/source/library/lux/abstract/enum.lux @@ -6,7 +6,7 @@ (type: .public (Enum e) (Interface - (is (Order e) &order) + (is (Order e) order) (is (-> e e) succ) (is (-> e e) pred))) diff --git a/stdlib/source/library/lux/abstract/hash.lux b/stdlib/source/library/lux/abstract/hash.lux index 04610b639..c1aa6e3dc 100644 --- a/stdlib/source/library/lux/abstract/hash.lux +++ b/stdlib/source/library/lux/abstract/hash.lux @@ -9,7 +9,7 @@ (type: .public (Hash a) (Interface (is (Equivalence a) - &equivalence) + equivalence) (is (-> a Nat) hash))) @@ -18,9 +18,9 @@ (def: (each f super) (implementation - (def: &equivalence + (def: equivalence (# equivalence.functor each f - (# super &equivalence))) + (# super equivalence))) (def: hash (|>> f (# super hash)))))) diff --git a/stdlib/source/library/lux/abstract/interval.lux b/stdlib/source/library/lux/abstract/interval.lux index 5ed94dafe..131d18017 100644 --- a/stdlib/source/library/lux/abstract/interval.lux +++ b/stdlib/source/library/lux/abstract/interval.lux @@ -10,7 +10,7 @@ (type: .public (Interval a) (Interface (is (Enum a) - &enum) + enum) (is a bottom) @@ -21,14 +21,14 @@ (def: .public (between enum bottom top) (All (_ a) (-> (Enum a) a a (Interval a))) (implementation - (def: &enum enum) + (def: enum enum) (def: bottom bottom) (def: top top))) (def: .public (singleton enum elem) (All (_ a) (-> (Enum a) a (Interval a))) (implementation - (def: &enum enum) + (def: enum enum) (def: bottom elem) (def: top elem))) @@ -38,7 +38,7 @@ (let [(open ",#[0]") interval] ( ,#bottom ,#top)))] - [inner? (order.> ,#&order)] + [inner? (order.> ,#order)] [outer? ,#<] [singleton? ,#=] ) @@ -47,12 +47,12 @@ (All (_ a) (-> (Interval a) a Bit)) (let [(open ",#[0]") interval] (cond (inner? interval) - (and (order.>= ,#&order ,#bottom elem) - (order.<= ,#&order ,#top elem)) + (and (order.>= ,#order ,#bottom elem) + (order.<= ,#order ,#top elem)) (outer? interval) - (or (order.>= ,#&order ,#bottom elem) - (order.<= ,#&order ,#top elem)) + (or (order.>= ,#order ,#bottom elem) + (order.<= ,#order ,#top elem)) ... singleton (and (,#= ,#bottom elem) @@ -76,21 +76,21 @@ (implementation: .public (union left right) (All (_ a) (-> (Interval a) (Interval a) (Interval a))) - (def: &enum (the &enum right)) - (def: bottom (order.min (# right &order) (# left bottom) (# right bottom))) - (def: top (order.max (# right &order) (# left top) (# right top)))) + (def: enum (the enum right)) + (def: bottom (order.min (# right order) (# left bottom) (# right bottom))) + (def: top (order.max (# right order) (# left top) (# right top)))) (implementation: .public (intersection left right) (All (_ a) (-> (Interval a) (Interval a) (Interval a))) - (def: &enum (the &enum right)) - (def: bottom (order.max (# right &order) (# left bottom) (# right bottom))) - (def: top (order.min (# right &order) (# left top) (# right top)))) + (def: enum (the enum right)) + (def: bottom (order.max (# right order) (# left bottom) (# right bottom))) + (def: top (order.min (# right order) (# left top) (# right top)))) (implementation: .public (complement interval) (All (_ a) (-> (Interval a) (Interval a))) - (def: &enum (the &enum interval)) + (def: enum (the enum interval)) (def: bottom (# interval succ (# interval top))) (def: top (# interval pred (# interval bottom)))) @@ -113,7 +113,7 @@ ( reference ,#top))))] [before? ,#<] - [after? (order.> ,#&order)] + [after? (order.> ,#order)] ) (def: .public (meets? reference sample) @@ -121,7 +121,7 @@ (let [(open ",#[0]") reference limit (# reference bottom)] (and (,#= limit (# sample top)) - (order.<= ,#&order limit (# sample bottom))))) + (order.<= ,#order limit (# sample bottom))))) (def: .public (touches? reference sample) (All (_ a) (-> (Interval a) (Interval a) Bit)) @@ -134,7 +134,7 @@ (let [(open ",#[0]") reference] (and (,#= (# reference ) (# sample )) - ( ,#&order + ( ,#order (# reference ) (# sample )))))] @@ -156,8 +156,8 @@ (and (inner? reference) (inner? sample)) (and (outer? reference) (outer? sample))) (let [(open ",#[0]") reference] - (and (order.>= ,#&order (# reference bottom) (# sample bottom)) - (order.<= ,#&order (# reference top) (# sample top)))) + (and (order.>= ,#order (# reference bottom) (# sample bottom)) + (order.<= ,#order (# reference top) (# sample top)))) (or (singleton? reference) (and (inner? reference) (outer? sample))) @@ -165,10 +165,10 @@ ... (and (outer? reference) (inner? sample)) (let [(open ",#[0]") reference] - (or (and (order.>= ,#&order (# reference bottom) (# sample bottom)) - (order.> ,#&order (# reference bottom) (# sample top))) + (or (and (order.>= ,#order (# reference bottom) (# sample bottom)) + (order.> ,#order (# reference bottom) (# sample top))) (and (,#< (# reference top) (# sample bottom)) - (order.<= ,#&order (# reference top) (# sample top))))) + (order.<= ,#order (# reference top) (# sample top))))) )) (def: .public (overlaps? reference sample) @@ -183,8 +183,8 @@ (or (and (inner? sample) (outer? reference)) (and (outer? sample) (inner? reference))) - (or (order.>= ,#&order (# reference bottom) (# sample top)) - (order.<= ,#&order (# reference top) (# sample bottom))) + (or (order.>= ,#order (# reference bottom) (# sample top)) + (order.<= ,#order (# reference top) (# sample bottom))) ... both inner (inner? sample) diff --git a/stdlib/source/library/lux/abstract/monad.lux b/stdlib/source/library/lux/abstract/monad.lux index e5268e354..79152d481 100644 --- a/stdlib/source/library/lux/abstract/monad.lux +++ b/stdlib/source/library/lux/abstract/monad.lux @@ -46,7 +46,7 @@ (type: .public (Monad m) (Interface (is (Functor m) - &functor) + functor) (is (All (_ a) (-> a (m a))) in) diff --git a/stdlib/source/library/lux/abstract/monad/free.lux b/stdlib/source/library/lux/abstract/monad/free.lux index 5bb00f5db..bd250ef05 100644 --- a/stdlib/source/library/lux/abstract/monad/free.lux +++ b/stdlib/source/library/lux/abstract/monad/free.lux @@ -1,10 +1,10 @@ (.using - [library - [lux "*"]] - [/// - [functor {"+" Functor}] - [apply {"+" Apply}] - [monad {"+" Monad}]]) + [library + [lux "*"]] + [/// + [functor {"+" Functor}] + [apply {"+" Apply}] + [monad {"+" Monad}]]) (type: .public (Free F a) (Variant @@ -25,7 +25,7 @@ (implementation: .public (apply dsl) (All (_ F) (-> (Functor F) (Apply (Free F)))) - (def: &functor + (def: functor (..functor dsl)) (def: (on ea ef) @@ -45,7 +45,7 @@ (implementation: .public (monad dsl) (All (_ F) (-> (Functor F) (Monad (Free F)))) - (def: &functor (..functor dsl)) + (def: functor (..functor dsl)) (def: (in a) {#Pure a}) diff --git a/stdlib/source/library/lux/abstract/order.lux b/stdlib/source/library/lux/abstract/order.lux index e09899ad5..2370a508a 100644 --- a/stdlib/source/library/lux/abstract/order.lux +++ b/stdlib/source/library/lux/abstract/order.lux @@ -11,7 +11,7 @@ (type: .public (Order a) (Interface (is (Equivalence a) - &equivalence) + equivalence) (is (-> a a Bit) <))) @@ -49,8 +49,8 @@ (def: (each f order) (implementation - (def: &equivalence - (# equivalence.functor each f (# order &equivalence))) + (def: equivalence + (# equivalence.functor each f (# order equivalence))) (def: (< reference sample) (# order < (f reference) (f sample)))))) diff --git a/stdlib/source/library/lux/control/concurrency/async.lux b/stdlib/source/library/lux/control/concurrency/async.lux index e8edda452..82184402f 100644 --- a/stdlib/source/library/lux/control/concurrency/async.lux +++ b/stdlib/source/library/lux/control/concurrency/async.lux @@ -115,7 +115,7 @@ (implementation: .public apply (Apply Async) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (let [[fb resolve] (sharing [a b] @@ -133,7 +133,7 @@ (implementation: .public monad (Monad Async) - (def: &functor ..functor) + (def: functor ..functor) (def: in ..resolved) diff --git a/stdlib/source/library/lux/control/concurrency/frp.lux b/stdlib/source/library/lux/control/concurrency/frp.lux index 92aab2a89..ee7054786 100644 --- a/stdlib/source/library/lux/control/concurrency/frp.lux +++ b/stdlib/source/library/lux/control/concurrency/frp.lux @@ -103,7 +103,7 @@ (implementation: .public apply (Apply Channel) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (do async.monad @@ -124,7 +124,7 @@ (implementation: .public monad (Monad Channel) - (def: &functor ..functor) + (def: functor ..functor) (def: (in a) (async.resolved {.#Some [(variance.write a) ..empty]})) diff --git a/stdlib/source/library/lux/control/concurrency/stm.lux b/stdlib/source/library/lux/control/concurrency/stm.lux index 918283f70..0e4c75e6e 100644 --- a/stdlib/source/library/lux/control/concurrency/stm.lux +++ b/stdlib/source/library/lux/control/concurrency/stm.lux @@ -169,7 +169,7 @@ (implementation: .public apply (Apply STM) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (function (_ tx) @@ -180,7 +180,7 @@ (implementation: .public monad (Monad STM) - (def: &functor ..functor) + (def: functor ..functor) (def: (in a) (function (_ tx) diff --git a/stdlib/source/library/lux/control/continuation.lux b/stdlib/source/library/lux/control/continuation.lux index ba6b618de..2f67178bf 100644 --- a/stdlib/source/library/lux/control/continuation.lux +++ b/stdlib/source/library/lux/control/continuation.lux @@ -1,17 +1,17 @@ (.using - [library - [lux "*" - [abstract - [functor {"+" Functor}] - [apply {"+" Apply}] - [monad {"+" Monad do}]] - [control - ["[0]" function] - [parser - ["<[0]>" code]]] - [macro {"+" with_symbols} - [syntax {"+" syntax:}] - ["[0]" code]]]]) + [library + [lux "*" + [abstract + [functor {"+" Functor}] + [apply {"+" Apply}] + [monad {"+" Monad do}]] + [control + ["[0]" function] + [parser + ["<[0]>" code]]] + [macro {"+" with_symbols} + [syntax {"+" syntax:}] + ["[0]" code]]]]) (type: .public (Cont i o) (-> (-> i o) o)) @@ -61,7 +61,7 @@ (implementation: .public apply (All (_ o) (Apply (All (_ i) (Cont i o)))) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fv ff) (function (_ k) @@ -72,7 +72,7 @@ (implementation: .public monad (All (_ o) (Monad (All (_ i) (Cont i o)))) - (def: &functor ..functor) + (def: functor ..functor) (def: (in value) (function (_ k) (k value))) diff --git a/stdlib/source/library/lux/control/function/mutual.lux b/stdlib/source/library/lux/control/function/mutual.lux index 69f1bdf40..1c75c9f07 100644 --- a/stdlib/source/library/lux/control/function/mutual.lux +++ b/stdlib/source/library/lux/control/function/mutual.lux @@ -136,22 +136,22 @@ (..macro g!context g!name)]) (list.zipped_2 hidden_names functions)))] - (in (list& (` (.def: (~ g!context) - [(~+ (list#each (the [#mutual #type]) functions))] - (.let [(~ g!context) (is (Rec (~ g!context) - [(~+ context_types)]) - [(~+ definitions)]) - [(~+ user_names)] (~ g!context)] - [(~+ (list#each (function (_ g!name) - (` ((~ g!name) (~ g!context)))) - user_names))]))) - g!pop - (list#each (function (_ mutual) - (.let [g!name (|> mutual (the [#mutual #declaration declaration.#name]) code.local)] - (` (.def: - (~ (the #export_policy mutual)) - (~ g!name) - (~ (the [#mutual #type] mutual)) - (.let [[(~+ user_names)] (~ g!context)] - (~ g!name)))))) - functions))))))) + (in (partial_list (` (.def: (~ g!context) + [(~+ (list#each (the [#mutual #type]) functions))] + (.let [(~ g!context) (is (Rec (~ g!context) + [(~+ context_types)]) + [(~+ definitions)]) + [(~+ user_names)] (~ g!context)] + [(~+ (list#each (function (_ g!name) + (` ((~ g!name) (~ g!context)))) + user_names))]))) + g!pop + (list#each (function (_ mutual) + (.let [g!name (|> mutual (the [#mutual #declaration declaration.#name]) code.local)] + (` (.def: + (~ (the #export_policy mutual)) + (~ g!name) + (~ (the [#mutual #type] mutual)) + (.let [[(~+ user_names)] (~ g!context)] + (~ g!name)))))) + functions))))))) diff --git a/stdlib/source/library/lux/control/io.lux b/stdlib/source/library/lux/control/io.lux index 3edf5e3ee..9ea2818d3 100644 --- a/stdlib/source/library/lux/control/io.lux +++ b/stdlib/source/library/lux/control/io.lux @@ -49,7 +49,7 @@ (implementation: .public apply (Apply IO) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (!io ((..run!' ff) (..run!' fa))))) @@ -57,7 +57,7 @@ (implementation: .public monad (Monad IO) - (def: &functor ..functor) + (def: functor ..functor) (def: in (|>> !io)) diff --git a/stdlib/source/library/lux/control/lazy.lux b/stdlib/source/library/lux/control/lazy.lux index 27131e570..4d13538c0 100644 --- a/stdlib/source/library/lux/control/lazy.lux +++ b/stdlib/source/library/lux/control/lazy.lux @@ -63,13 +63,13 @@ (implementation: .public apply (Apply Lazy) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (lazy ((value ff) (value fa))))) (implementation: .public monad (Monad Lazy) - (def: &functor ..functor) + (def: functor ..functor) (def: in (|>> lazy)) (def: conjoint ..value)) diff --git a/stdlib/source/library/lux/control/maybe.lux b/stdlib/source/library/lux/control/maybe.lux index d9c15e307..ecf814d21 100644 --- a/stdlib/source/library/lux/control/maybe.lux +++ b/stdlib/source/library/lux/control/maybe.lux @@ -44,7 +44,7 @@ (implementation: .public apply (Apply Maybe) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (case [ff fa] @@ -57,7 +57,7 @@ (implementation: .public monad (Monad Maybe) - (def: &functor ..functor) + (def: functor ..functor) (def: (in x) {.#Some x}) @@ -88,8 +88,8 @@ (implementation: .public (hash super) (All (_ a) (-> (Hash a) (Hash (Maybe a)))) - (def: &equivalence - (..equivalence (# super &equivalence))) + (def: equivalence + (..equivalence (# super equivalence))) (def: (hash value) (case value @@ -102,8 +102,8 @@ (implementation: .public (with monad) (All (_ M) (-> (Monad M) (Monad (All (_ a) (M (Maybe a)))))) - (def: &functor - (functor.composite (the monad.&functor monad) + (def: functor + (functor.composite (the monad.functor monad) ..functor)) (def: in diff --git a/stdlib/source/library/lux/control/parser.lux b/stdlib/source/library/lux/control/parser.lux index 2b189b912..4b9735560 100644 --- a/stdlib/source/library/lux/control/parser.lux +++ b/stdlib/source/library/lux/control/parser.lux @@ -1,20 +1,20 @@ (.using - [library - [lux {"-" or and not} - [abstract - [functor {"+" Functor}] - [apply {"+" Apply}] - [monad {"+" Monad do}] - [codec {"+" Codec}]] - [control - ["[0]" try {"+" Try}]] - [data - ["[0]" product] - [collection - ["[0]" list ("[1]#[0]" functor monoid)]]] - [math - [number - ["n" nat]]]]]) + [library + [lux {"-" or and not} + [abstract + [functor {"+" Functor}] + [apply {"+" Apply}] + [monad {"+" Monad do}] + [codec {"+" Codec}]] + [control + ["[0]" try {"+" Try}]] + [data + ["[0]" product] + [collection + ["[0]" list ("[1]#[0]" functor monoid)]]] + [math + [number + ["n" nat]]]]]) (type: .public (Parser s a) (-> s (Try [s a]))) @@ -34,7 +34,7 @@ (implementation: .public apply (All (_ s) (Apply (Parser s))) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (function (_ input) @@ -53,7 +53,7 @@ (implementation: .public monad (All (_ s) (Monad (Parser s))) - (def: &functor ..functor) + (def: functor ..functor) (def: (in x) (function (_ input) @@ -134,7 +134,7 @@ {try.#Success [input (list)]} {try.#Success [input' head]} - (..result (# ..monad each (|>> (list& head)) + (..result (# ..monad each (|>> (partial_list head)) (some parser)) input')))) diff --git a/stdlib/source/library/lux/control/parser/analysis.lux b/stdlib/source/library/lux/control/parser/analysis.lux index 078fedb7e..26d74c274 100644 --- a/stdlib/source/library/lux/control/parser/analysis.lux +++ b/stdlib/source/library/lux/control/parser/analysis.lux @@ -93,7 +93,7 @@ (Parser ) (function (_ input) (case input - (pattern (list& ( x) input')) + (pattern (partial_list ( x) input')) {try.#Success [input' x]} _ @@ -103,7 +103,7 @@ (-> (Parser Any)) (function (_ input) (case input - (pattern (list& ( actual) input')) + (pattern (partial_list ( actual) input')) (if (# = expected actual) {try.#Success [input' []]} (exception.except ..cannot_parse input)) @@ -126,7 +126,7 @@ (All (_ a) (-> (Parser a) (Parser a))) (function (_ input) (case input - (pattern (list& (/.tuple head) tail)) + (pattern (partial_list (/.tuple head) tail)) (do try.monad [output (..result parser head)] {try.#Success [tail output]}) diff --git a/stdlib/source/library/lux/control/parser/code.lux b/stdlib/source/library/lux/control/parser/code.lux index 554ad21e9..516e6ff2e 100644 --- a/stdlib/source/library/lux/control/parser/code.lux +++ b/stdlib/source/library/lux/control/parser/code.lux @@ -26,7 +26,7 @@ (All (_ a) (-> (List [a a]) (List a))) (case pairs {.#End} {.#End} - {.#Item [[x y] pairs']} (list& x y (un_paired pairs')))) + {.#Item [[x y] pairs']} (partial_list x y (un_paired pairs')))) (type: .public Parser (//.Parser (List Code))) diff --git a/stdlib/source/library/lux/control/parser/json.lux b/stdlib/source/library/lux/control/parser/json.lux index 130c04815..4064ed450 100644 --- a/stdlib/source/library/lux/control/parser/json.lux +++ b/stdlib/source/library/lux/control/parser/json.lux @@ -169,7 +169,7 @@ (All (_ a) (-> Text (Parser a) (Parser a))) (function (again inputs) (case inputs - (pattern (list& {/.#String key} value inputs')) + (pattern (partial_list {/.#String key} value inputs')) (if (text#= key field_name) (case (//.result parser (list value)) {try.#Success [{.#End} output]} @@ -182,7 +182,7 @@ {try.#Failure error}) (do try.monad [[inputs'' output] (again inputs')] - (in [(list& {/.#String key} value inputs'') + (in [(partial_list {/.#String key} value inputs'') output]))) {.#End} diff --git a/stdlib/source/library/lux/control/parser/synthesis.lux b/stdlib/source/library/lux/control/parser/synthesis.lux index e45f311da..f457e13fb 100644 --- a/stdlib/source/library/lux/control/parser/synthesis.lux +++ b/stdlib/source/library/lux/control/parser/synthesis.lux @@ -92,7 +92,7 @@ (Parser ) (.function (_ input) (case input - (pattern (list& ( x) input')) + (pattern (partial_list ( x) input')) {try.#Success [input' x]} _ @@ -102,7 +102,7 @@ (-> (Parser Any)) (.function (_ input) (case input - (pattern (list& ( actual) input')) + (pattern (partial_list ( actual) input')) (if (# = expected actual) {try.#Success [input' []]} (exception.except ..cannot_parse input)) @@ -123,7 +123,7 @@ (All (_ a) (-> (Parser a) (Parser a))) (.function (_ input) (case input - (pattern (list& (/.tuple head) tail)) + (pattern (partial_list (/.tuple head) tail)) (do try.monad [output (..result parser head)] {try.#Success [tail output]}) @@ -135,7 +135,7 @@ (All (_ a) (-> Arity (Parser a) (Parser [(Environment Synthesis) a]))) (.function (_ input) (case input - (pattern (list& (/.function/abstraction [environment actual body]) tail)) + (pattern (partial_list (/.function/abstraction [environment actual body]) tail)) (if (n.= expected actual) (do try.monad [output (..result parser (list body))] @@ -149,7 +149,7 @@ (All (_ a b) (-> (Parser a) (Parser b) (Parser [Register a b]))) (.function (_ input) (case input - (pattern (list& (/.loop/scope [start inits iteration]) tail)) + (pattern (partial_list (/.loop/scope [start inits iteration]) tail)) (do try.monad [inits (..result init_parsers inits) iteration (..result iteration_parser (list iteration))] diff --git a/stdlib/source/library/lux/control/parser/type.lux b/stdlib/source/library/lux/control/parser/type.lux index 714810217..3b837d8a9 100644 --- a/stdlib/source/library/lux/control/parser/type.lux +++ b/stdlib/source/library/lux/control/parser/type.lux @@ -342,7 +342,7 @@ [env ..env [funcT argsT] (..applied (//.and any (//.many any))) _ (local (list funcT) (..this_parameter 0)) - allC (let [allT (list& funcT argsT)] + allC (let [allT (partial_list funcT argsT)] (|> allT (monad.each ! (function.constant ..parameter)) (local allT)))] diff --git a/stdlib/source/library/lux/control/pipe.lux b/stdlib/source/library/lux/control/pipe.lux index 3b136f771..476664344 100644 --- a/stdlib/source/library/lux/control/pipe.lux +++ b/stdlib/source/library/lux/control/pipe.lux @@ -81,7 +81,7 @@ prev .any]) (with_symbols [g!temp] (.case (list.reversed steps) - (pattern (list& last_step prev_steps)) + (pattern (partial_list last_step prev_steps)) (.let [step_bindings (monad.do list.monad [step (list.reversed prev_steps)] (list g!temp (` (|> (~ g!temp) (~+ step)))))] diff --git a/stdlib/source/library/lux/control/reader.lux b/stdlib/source/library/lux/control/reader.lux index 6a81806ac..95cbe91b9 100644 --- a/stdlib/source/library/lux/control/reader.lux +++ b/stdlib/source/library/lux/control/reader.lux @@ -32,7 +32,7 @@ (implementation: .public apply (All (_ r) (Apply (Reader r))) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (function (_ env) @@ -41,7 +41,7 @@ (implementation: .public monad (All (_ r) (Monad (Reader r))) - (def: &functor ..functor) + (def: functor ..functor) (def: (in x) (function (_ env) x)) @@ -53,8 +53,8 @@ (implementation: .public (with monad) (All (_ !) (-> (Monad !) (All (_ e) (Monad (All (_ a) (Reader e (! a))))))) - (def: &functor - (functor.composite ..functor (the monad.&functor monad))) + (def: functor + (functor.composite ..functor (the monad.functor monad))) (def: in (|>> (# monad in) diff --git a/stdlib/source/library/lux/control/region.lux b/stdlib/source/library/lux/control/region.lux index 0aa7d8939..2296de83f 100644 --- a/stdlib/source/library/lux/control/region.lux +++ b/stdlib/source/library/lux/control/region.lux @@ -92,8 +92,8 @@ (-> (Monad !) (All (_ r) (Apply (Region r !))))) - (def: &functor - (..functor (the monad.&functor super))) + (def: functor + (..functor (the monad.functor super))) (def: (on fa ff) (function (_ [region cleaners]) @@ -117,8 +117,8 @@ (-> (Monad !) (All (_ r) (Monad (Region r !))))) - (def: &functor - (..functor (the monad.&functor super))) + (def: functor + (..functor (the monad.functor super))) (def: (in value) (function (_ [region cleaners]) diff --git a/stdlib/source/library/lux/control/security/policy.lux b/stdlib/source/library/lux/control/security/policy.lux index d3165f0c6..3e6bb2e0c 100644 --- a/stdlib/source/library/lux/control/security/policy.lux +++ b/stdlib/source/library/lux/control/security/policy.lux @@ -63,7 +63,7 @@ (implementation: .public apply (~ (..of_policy Apply)) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (abstraction ((representation ff) (representation fa))))) @@ -71,7 +71,7 @@ (implementation: .public monad (~ (..of_policy Monad)) - (def: &functor ..functor) + (def: functor ..functor) (def: in (|>> abstraction)) (def: conjoint (|>> representation))) ) diff --git a/stdlib/source/library/lux/control/state.lux b/stdlib/source/library/lux/control/state.lux index fdc247660..d1d587861 100644 --- a/stdlib/source/library/lux/control/state.lux +++ b/stdlib/source/library/lux/control/state.lux @@ -1,10 +1,10 @@ (.using - [library - [lux {"-" local} - [abstract - [functor {"+" Functor}] - [apply {"+" Apply}] - [monad {"+" Monad do}]]]]) + [library + [lux {"-" local} + [abstract + [functor {"+" Functor}] + [apply {"+" Apply}] + [monad {"+" Monad do}]]]]) (type: .public (State s a) (-> s [s a])) @@ -50,7 +50,7 @@ (implementation: .public apply (All (_ s) (Apply (State s))) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (function (_ state) @@ -61,7 +61,7 @@ (implementation: .public monad (All (_ s) (Monad (State s))) - (def: &functor ..functor) + (def: functor ..functor) (def: (in a) (function (_ state) @@ -99,7 +99,7 @@ (implementation: (with//apply monad) (All (_ M s) (-> (Monad M) (Apply (All (_ a) (-> s (M [s a])))))) - (def: &functor (with//functor (# monad &functor))) + (def: functor (with//functor (# monad functor))) (def: (on sFa sFf) (function (_ state) @@ -118,7 +118,7 @@ (implementation: .public (with monad) (All (_ M s) (-> (Monad M) (Monad (+State M s)))) - (def: &functor (with//functor (# monad &functor))) + (def: functor (with//functor (# monad functor))) (def: (in a) (function (_ state) diff --git a/stdlib/source/library/lux/control/thread.lux b/stdlib/source/library/lux/control/thread.lux index 6a65b2650..2192c1824 100644 --- a/stdlib/source/library/lux/control/thread.lux +++ b/stdlib/source/library/lux/control/thread.lux @@ -75,7 +75,7 @@ (implementation: .public apply (All (_ !) (Apply (Thread !))) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (function (_ !) @@ -84,7 +84,7 @@ (implementation: .public monad (All (_ !) (Monad (Thread !))) - (def: &functor ..functor) + (def: functor ..functor) (def: (in value) (function (_ !) diff --git a/stdlib/source/library/lux/control/try.lux b/stdlib/source/library/lux/control/try.lux index d00d15d28..b2c5b02fc 100644 --- a/stdlib/source/library/lux/control/try.lux +++ b/stdlib/source/library/lux/control/try.lux @@ -30,7 +30,7 @@ (implementation: .public apply (Apply Try) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (case ff @@ -50,7 +50,7 @@ (implementation: .public monad (Monad Try) - (def: &functor ..functor) + (def: functor ..functor) (def: (in a) {#Success a}) @@ -68,8 +68,8 @@ ... TODO: Replace (All (_ a) (! (Try a))) with (functor.Then ! Try) (All (_ !) (-> (Monad !) (Monad (All (_ a) (! (Try a)))))) - (def: &functor - (functor.composite (the monad.&functor monad) + (def: functor + (functor.composite (the monad.functor monad) ..functor)) (def: in diff --git a/stdlib/source/library/lux/control/writer.lux b/stdlib/source/library/lux/control/writer.lux index bfbf6183e..b8326b542 100644 --- a/stdlib/source/library/lux/control/writer.lux +++ b/stdlib/source/library/lux/control/writer.lux @@ -29,7 +29,7 @@ (All (_ l) (-> (Monoid l) (Apply (Writer l)))) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (let [[log1 f] ff @@ -40,7 +40,7 @@ (All (_ l) (-> (Monoid l) (Monad (Writer l)))) - (def: &functor ..functor) + (def: functor ..functor) (def: in (|>> [(# monoid identity)])) @@ -52,8 +52,8 @@ (implementation: .public (with monoid monad) (All (_ l M) (-> (Monoid l) (Monad M) (Monad (All (_ a) (M (Writer l a)))))) - (def: &functor - (functor.composite (the monad.&functor monad) + (def: functor + (functor.composite (the monad.functor monad) ..functor)) (def: in diff --git a/stdlib/source/library/lux/data/bit.lux b/stdlib/source/library/lux/data/bit.lux index bef99619e..266d8b8b0 100644 --- a/stdlib/source/library/lux/data/bit.lux +++ b/stdlib/source/library/lux/data/bit.lux @@ -1,13 +1,13 @@ (.using - [library - [lux "*" - [abstract - [monoid {"+" Monoid}] - [equivalence {"+" Equivalence}] - [hash {"+" Hash}] - [codec {"+" Codec}]] - [control - ["[0]" function]]]]) + [library + [lux "*" + [abstract + [monoid {"+" Monoid}] + [equivalence {"+" Equivalence}] + [hash {"+" Hash}] + [codec {"+" Codec}]] + [control + ["[0]" function]]]]) (template [ ] [(def: .public Bit #0) @@ -28,7 +28,7 @@ (implementation: .public hash (Hash Bit) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash value) (case value diff --git a/stdlib/source/library/lux/data/collection/dictionary/ordered.lux b/stdlib/source/library/lux/data/collection/dictionary/ordered.lux index b9226a891..e099a841b 100644 --- a/stdlib/source/library/lux/data/collection/dictionary/ordered.lux +++ b/stdlib/source/library/lux/data/collection/dictionary/ordered.lux @@ -48,19 +48,19 @@ (type: .public (Dictionary k v) (Record - [#&order (Order k) + [#order (Order k) #root (Maybe (Node k v))])) (def: .public (empty order) (All (_ k v) (-> (Order k) (Dictionary k v))) - [#&order order + [#order order #root {.#None}]) ... TODO: Doing inneficient access of Order functions due to compiler bug. ... TODO: Must improve it as soon as bug is fixed. (def: .public (value key dict) (All (_ k v) (-> k (Dictionary k v) (Maybe v))) - (let [... (open "_#[0]") (the #&order dict) + (let [... (open "_#[0]") (the #order dict) ] (loop (again [node (the #root dict)]) (case node @@ -85,7 +85,7 @@ ... TODO: Must improve it as soon as bug is fixed. (def: .public (key? dict key) (All (_ k v) (-> (Dictionary k v) k Bit)) - (let [... (open "_#[0]") (the #&order dict) + (let [... (open "_#[0]") (the #order dict) ] (loop (again [node (the #root dict)]) (case node @@ -251,7 +251,7 @@ (def: .public (has key value dict) (All (_ k v) (-> k v (Dictionary k v) (Dictionary k v))) - (let [(open "_#[0]") (the #&order dict) + (let [(open "_#[0]") (the #order dict) root' (loop (again [?root (the #root dict)]) (case ?root {.#None} @@ -269,7 +269,7 @@ root)}))] [_#< #left ..with_left] - [(order.> (the #&order dict)) #right ..with_right] + [(order.> (the #order dict)) #right ..with_right] )) ... (_#= reference key) @@ -474,7 +474,7 @@ (def: .public (lacks key dict) (All (_ k v) (-> k (Dictionary k v) (Dictionary k v))) - (let [(open "_#[0]") (the #&order dict) + (let [(open "_#[0]") (the #order dict) [?root found?] (loop (again [?root (the #root dict)]) (case ?root {.#Some root} @@ -566,7 +566,7 @@ (All (_ k v) (-> (Equivalence v) (Equivalence (Dictionary k v)))) (def: (= reference sample) - (let [(open "/#[0]") (the #&order reference)] + (let [(open "/#[0]") (the #order reference)] (loop (again [entriesR (entries reference) entriesS (entries sample)]) (case [entriesR entriesS] diff --git a/stdlib/source/library/lux/data/collection/list.lux b/stdlib/source/library/lux/data/collection/list.lux index 48b6e45a1..e0f68faa3 100644 --- a/stdlib/source/library/lux/data/collection/list.lux +++ b/stdlib/source/library/lux/data/collection/list.lux @@ -78,10 +78,10 @@ (def: .public (pairs xs) (All (_ a) (-> (List a) (Maybe (List [a a])))) (case xs - (pattern (list& x1 x2 xs')) + (pattern (partial_list x1 x2 xs')) (case (pairs xs') {.#Some tail} - {.#Some (list& [x1 x2] tail)} + {.#Some (partial_list [x1 x2] tail)} {.#None} {.#None}) @@ -255,7 +255,7 @@ xs {.#Item x xs'} - (list& x sep (interposed sep xs')))) + (partial_list x sep (interposed sep xs')))) (def: .public (size list) (All (_ a) (-> (List a) Nat)) @@ -308,8 +308,8 @@ (implementation: .public (hash super) (All (_ a) (-> (Hash a) (Hash (List a)))) - (def: &equivalence - (..equivalence (# super &equivalence))) + (def: equivalence + (..equivalence (# super equivalence))) (def: hash (# ..mix mix @@ -348,7 +348,7 @@ (implementation: .public apply (Apply List) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (case ff @@ -363,7 +363,7 @@ (implementation: .public monad (Monad List) - (def: &functor ..functor) + (def: functor ..functor) (def: (in a) {.#Item a {.#End}}) @@ -574,8 +574,8 @@ (implementation: .public (with monad) (All (_ M) (-> (Monad M) (Monad (All (_ a) (M (List a)))))) - (def: &functor - (functor.composite (the monad.&functor monad) + (def: functor + (functor.composite (the monad.functor monad) ..functor)) (def: in diff --git a/stdlib/source/library/lux/data/collection/queue.lux b/stdlib/source/library/lux/data/collection/queue.lux index c9106c1c4..f5f35402c 100644 --- a/stdlib/source/library/lux/data/collection/queue.lux +++ b/stdlib/source/library/lux/data/collection/queue.lux @@ -65,7 +65,7 @@ (has #rear (.list))) ... Consume front! - (pattern (.list& _ front')) + (pattern (.partial_list _ front')) (|> queue (has #front front')))) diff --git a/stdlib/source/library/lux/data/collection/sequence.lux b/stdlib/source/library/lux/data/collection/sequence.lux index f786a9276..20748c069 100644 --- a/stdlib/source/library/lux/data/collection/sequence.lux +++ b/stdlib/source/library/lux/data/collection/sequence.lux @@ -452,7 +452,7 @@ (implementation: .public apply (Apply Sequence) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (let [(open "[0]") ..functor @@ -465,7 +465,7 @@ (implementation: .public monad (Monad Sequence) - (def: &functor ..functor) + (def: functor ..functor) (def: in (|>> sequence)) diff --git a/stdlib/source/library/lux/data/collection/set.lux b/stdlib/source/library/lux/data/collection/set.lux index 3507442c3..fa4604ccc 100644 --- a/stdlib/source/library/lux/data/collection/set.lux +++ b/stdlib/source/library/lux/data/collection/set.lux @@ -73,7 +73,7 @@ (implementation: .public hash (All (_ a) (Hash (Set a))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash set) (|> set diff --git a/stdlib/source/library/lux/data/collection/set/multi.lux b/stdlib/source/library/lux/data/collection/set/multi.lux index 2043075cf..bdb423f0e 100644 --- a/stdlib/source/library/lux/data/collection/set/multi.lux +++ b/stdlib/source/library/lux/data/collection/set/multi.lux @@ -127,7 +127,7 @@ (implementation: .public hash (All (_ a) (Hash (Set a))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash (abstract.pattern set)) (let [[hash _] set] diff --git a/stdlib/source/library/lux/data/collection/set/ordered.lux b/stdlib/source/library/lux/data/collection/set/ordered.lux index c73e4d04a..edb7c6539 100644 --- a/stdlib/source/library/lux/data/collection/set/ordered.lux +++ b/stdlib/source/library/lux/data/collection/set/ordered.lux @@ -46,9 +46,9 @@ (All (_ a) (-> (Set a) (List a))) (|>> representation /.keys)) - (def: .public (of_list &order list) + (def: .public (of_list order list) (All (_ a) (-> (Order a) (List a) (Set a))) - (list#mix has (..empty &order) list)) + (list#mix has (..empty order) list)) (def: .public (union left right) (All (_ a) (-> (Set a) (Set a) (Set a))) @@ -58,19 +58,19 @@ (All (_ a) (-> (Set a) (Set a) (Set a))) (|> (..list right) (list.only (..member? left)) - (..of_list (the /.#&order (representation right))))) + (..of_list (the /.#order (representation right))))) (def: .public (difference param subject) (All (_ a) (-> (Set a) (Set a) (Set a))) (|> (..list subject) (list.only (|>> (..member? param) not)) - (..of_list (the /.#&order (representation subject))))) + (..of_list (the /.#order (representation subject))))) (implementation: .public equivalence (All (_ a) (Equivalence (Set a))) (def: (= reference sample) - (# (list.equivalence (# (representation reference) &equivalence)) + (# (list.equivalence (# (representation reference) equivalence)) = (..list reference) (..list sample)))) ) diff --git a/stdlib/source/library/lux/data/collection/stream.lux b/stdlib/source/library/lux/data/collection/stream.lux index 672fa8f72..495b26afa 100644 --- a/stdlib/source/library/lux/data/collection/stream.lux +++ b/stdlib/source/library/lux/data/collection/stream.lux @@ -68,7 +68,7 @@ (-> (Stream a) (List a))) (let [[x xs'] (//.result xs)] (if ( ) - (list& x ( xs')) + (partial_list x ( xs')) (list)))) (def: .public ( pred xs) @@ -119,7 +119,7 @@ (implementation: .public comonad (CoMonad Stream) - (def: &functor ..functor) + (def: functor ..functor) (def: out head) @@ -137,4 +137,4 @@ (` ((~! //.result) (~ g!stream)))))) list#conjoint))] (~ body)))] - (in (list& g!stream body+ branches))))) + (in (partial_list g!stream body+ branches))))) diff --git a/stdlib/source/library/lux/data/collection/tree/zipper.lux b/stdlib/source/library/lux/data/collection/tree/zipper.lux index 4f9889f9c..e45697595 100644 --- a/stdlib/source/library/lux/data/collection/tree/zipper.lux +++ b/stdlib/source/library/lux/data/collection/tree/zipper.lux @@ -303,7 +303,7 @@ (implementation: .public comonad (CoMonad Zipper) - (def: &functor + (def: functor ..functor) (def: out diff --git a/stdlib/source/library/lux/data/color.lux b/stdlib/source/library/lux/data/color.lux index c5cf003ef..dc2f0fff7 100644 --- a/stdlib/source/library/lux/data/color.lux +++ b/stdlib/source/library/lux/data/color.lux @@ -77,7 +77,7 @@ (implementation: .public hash (Hash Color) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash value) (let [[r g b] (representation value)] diff --git a/stdlib/source/library/lux/data/format/css.lux b/stdlib/source/library/lux/data/format/css.lux index dc42d50d2..4fc18ca76 100644 --- a/stdlib/source/library/lux/data/format/css.lux +++ b/stdlib/source/library/lux/data/format/css.lux @@ -62,12 +62,12 @@ {.#None} (list))] - (|> (list& ["font-family" (the /font.#family font)] - ["src" (format "url(" (the /font.#source font) ")")] - ["font-stretch" (|> font (the /font.#stretch) (maybe.else /value.normal_stretch) /value.value)] - ["font-style" (|> font (the /font.#style) (maybe.else /value.normal_style) /value.value)] - ["font-weight" (|> font (the /font.#weight) (maybe.else /value.normal_weight) /value.value)] - with_unicode) + (|> (partial_list ["font-family" (the /font.#family font)] + ["src" (format "url(" (the /font.#source font) ")")] + ["font-stretch" (|> font (the /font.#stretch) (maybe.else /value.normal_stretch) /value.value)] + ["font-style" (|> font (the /font.#style) (maybe.else /value.normal_style) /value.value)] + ["font-weight" (|> font (the /font.#weight) (maybe.else /value.normal_weight) /value.value)] + with_unicode) (list#each (function (_ [property value]) (format property ": " value ";"))) text.together diff --git a/stdlib/source/library/lux/data/format/css/value.lux b/stdlib/source/library/lux/data/format/css/value.lux index 8318ffe71..ae3a15195 100644 --- a/stdlib/source/library/lux/data/format/css/value.lux +++ b/stdlib/source/library/lux/data/format/css/value.lux @@ -963,9 +963,9 @@ [(def: .public ( angle start next) (-> Angle Stop (List/1 [(Maybe Hint) Stop]) (Value Image)) (let [[now after] next] - (..apply (list& (representation Angle angle) - (with_hint now) - (list#each with_hint after)))))] + (..apply (partial_list (representation Angle angle) + (with_hint now) + (list#each with_hint after)))))] [linear_gradient "linear-gradient"] [repeating_linear_gradient "repeating-linear-gradient"] @@ -1080,9 +1080,9 @@ after_extent) where (format (..shape shape) " " with_extent) [now after] next] - (..apply (list& (..shape shape) - (with_hint now) - (list#each with_hint after)))))] + (..apply (partial_list (..shape shape) + (with_hint now) + (list#each with_hint after)))))] [radial_gradient "radial-gradient"] [repeating_radial_gradient "repeating-radial-gradient"] @@ -1096,12 +1096,12 @@ (let [with_inset (if inset? (list "inset") (list))] - (|> (list& (representation horizontal) - (representation vertical) - (|> blur (maybe.else ..default_shadow_length) representation) - (|> spread (maybe.else ..default_shadow_length) representation) - (representation color) - with_inset) + (|> (partial_list (representation horizontal) + (representation vertical) + (|> blur (maybe.else ..default_shadow_length) representation) + (|> spread (maybe.else ..default_shadow_length) representation) + (representation color) + with_inset) (text.interposed " ") abstraction))) diff --git a/stdlib/source/library/lux/data/format/html.lux b/stdlib/source/library/lux/data/format/html.lux index 96de4515b..28d3c849a 100644 --- a/stdlib/source/library/lux/data/format/html.lux +++ b/stdlib/source/library/lux/data/format/html.lux @@ -177,7 +177,7 @@ (let [partial (list ["href" href]) full (case target {.#Some target} - (list& ["target" (..target target)] partial) + (partial_list ["target" (..target target)] partial) {.#None} partial)] @@ -261,7 +261,7 @@ (def: (%polygon [first second third extra]) (Format Polygon) - (|> (list& first second third extra) + (|> (partial_list first second third extra) (list#each %coord) (text.interposed ..coord_separator))) @@ -274,9 +274,9 @@ (.template [ ] [(def: ( attributes shape) (-> Attributes (HTML Any)) - (..simple "area" (list& ["shape" ] - ["coords" ( shape)] - attributes)))] + (..simple "area" (partial_list ["shape" ] + ["coords" ( shape)] + attributes)))] [rectangle "rect" Rectangle ..%rectangle] [circle "circle" Circle ..%circle] @@ -337,7 +337,7 @@ (def: .public (anchor href attributes content) (-> URL Attributes Element Element) - (..tag "a" (list& ["href" href] attributes) content)) + (..tag "a" (partial_list ["href" href] attributes) content)) (def: .public label (-> ID Input) diff --git a/stdlib/source/library/lux/data/format/tar.lux b/stdlib/source/library/lux/data/format/tar.lux index debbba560..0069ebb85 100644 --- a/stdlib/source/library/lux/data/format/tar.lux +++ b/stdlib/source/library/lux/data/format/tar.lux @@ -22,7 +22,9 @@ ["[1]" binary {"+" Writer} ("[1]#[0]" monoid)]] [collection ["[0]" list ("[1]#[0]" mix)] - ["[0]" sequence {"+" Sequence} ("[1]#[0]" mix)]]] + ["[0]" sequence {"+" Sequence} ("[1]#[0]" mix)] + [array + [\\unsafe {"+"}]]]] [macro ["^" pattern]] [math diff --git a/stdlib/source/library/lux/data/identity.lux b/stdlib/source/library/lux/data/identity.lux index 1d51efd0a..64f124f02 100644 --- a/stdlib/source/library/lux/data/identity.lux +++ b/stdlib/source/library/lux/data/identity.lux @@ -1,13 +1,13 @@ (.using - [library - [lux "*" - [abstract - [functor {"+" Functor}] - [apply {"+" Apply}] - [monad {"+" Monad}] - [comonad {"+" CoMonad}]] - [control - ["[0]" function]]]]) + [library + [lux "*" + [abstract + [functor {"+" Functor}] + [apply {"+" Apply}] + [monad {"+" Monad}] + [comonad {"+" CoMonad}]] + [control + ["[0]" function]]]]) (type: .public (Identity a) a) @@ -20,20 +20,20 @@ (implementation: .public apply (Apply Identity) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (ff fa))) (implementation: .public monad (Monad Identity) - (def: &functor ..functor) + (def: functor ..functor) (def: in function.identity) (def: conjoint function.identity)) (implementation: .public comonad (CoMonad Identity) - (def: &functor ..functor) + (def: functor ..functor) (def: out function.identity) (def: disjoint function.identity)) diff --git a/stdlib/source/library/lux/data/product.lux b/stdlib/source/library/lux/data/product.lux index 1f0079131..6f4743a46 100644 --- a/stdlib/source/library/lux/data/product.lux +++ b/stdlib/source/library/lux/data/product.lux @@ -1,9 +1,9 @@ (.using - [library - [lux "*" - [abstract - [equivalence {"+" Equivalence}] - [hash {"+" Hash}]]]]) + [library + [lux "*" + [abstract + [equivalence {"+" Equivalence}] + [hash {"+" Hash}]]]]) (template [] [(def: .public ( [left right]) @@ -59,9 +59,9 @@ (def: .public (hash left right) (All (_ l r) (-> (Hash l) (Hash r) (Hash [l r]))) (implementation - (def: &equivalence - (..equivalence (# left &equivalence) - (# right &equivalence))) + (def: equivalence + (..equivalence (# left equivalence) + (# right equivalence))) (def: (hash [leftV rightV]) ("lux i64 +" (# left hash leftV) diff --git a/stdlib/source/library/lux/data/store.lux b/stdlib/source/library/lux/data/store.lux index a30bdf0c4..6c0291c2a 100644 --- a/stdlib/source/library/lux/data/store.lux +++ b/stdlib/source/library/lux/data/store.lux @@ -28,7 +28,7 @@ (implementation: .public comonad (All (_ s) (CoMonad (Store s))) - (def: &functor + (def: functor ..functor) (def: (out wa) diff --git a/stdlib/source/library/lux/data/sum.lux b/stdlib/source/library/lux/data/sum.lux index 8d3fe4fc0..c2b3d7512 100644 --- a/stdlib/source/library/lux/data/sum.lux +++ b/stdlib/source/library/lux/data/sum.lux @@ -78,9 +78,9 @@ (def: .public (hash left right) (All (_ l r) (-> (Hash l) (Hash r) (Hash (Or l r)))) (implementation - (def: &equivalence - (..equivalence (# left &equivalence) - (# right &equivalence))) + (def: equivalence + (..equivalence (# left equivalence) + (# right equivalence))) (def: (hash value) (.nat (case value {.#Left value} diff --git a/stdlib/source/library/lux/data/text.lux b/stdlib/source/library/lux/data/text.lux index e5b2ec3ed..7f530a137 100644 --- a/stdlib/source/library/lux/data/text.lux +++ b/stdlib/source/library/lux/data/text.lux @@ -265,7 +265,7 @@ (implementation: .public order (Order Text) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< reference sample) ("lux text <" reference sample))) @@ -281,7 +281,7 @@ (implementation: .public hash (Hash Text) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash input) (for @.old diff --git a/stdlib/source/library/lux/data/text/regex.lux b/stdlib/source/library/lux/data/text/regex.lux index 3ae94415b..c24c0093f 100644 --- a/stdlib/source/library/lux/data/text/regex.lux +++ b/stdlib/source/library/lux/data/text/regex.lux @@ -295,9 +295,9 @@ {.#Right [{#Non_Capturing} complex]}) [idx names - (list& (list g!temp complex - (` .let) (` [(~ g!total) (# (~! //.monoid) (~' composite) (~ g!total) (~ g!temp))])) - steps)] + (partial_list (list g!temp complex + (` .let) (` [(~ g!total) (# (~! //.monoid) (~' composite) (~ g!total) (~ g!temp))])) + steps)] {.#Right [{#Capturing [?name num_captures]} scoped]} (let [[idx! name!] (case ?name @@ -310,10 +310,10 @@ (` ((~! product.left) (~ name!))) name!)] [idx! - (list& name! names) - (list& (list name! scoped - (` .let) (` [(~ g!total) (# (~! //.monoid) (~' composite) (~ g!total) (~ access))])) - steps)]) + (partial_list name! names) + (partial_list (list name! scoped + (` .let) (` [(~ g!total) (# (~! //.monoid) (~' composite) (~ g!total) (~ access))])) + steps)]) ))) [0 (is (List Code) (list)) @@ -430,8 +430,8 @@ body .any branches (<>.many .any)]) (with_symbols [g!temp] - (in (list& (` (^.multi (~ g!temp) - [((~! .result) (..regex (~ (code.text pattern))) (~ g!temp)) - {try.#Success (~ (maybe.else g!temp bindings))}])) - body - branches)))) + (in (partial_list (` (^.multi (~ g!temp) + [((~! .result) (..regex (~ (code.text pattern))) (~ g!temp)) + {try.#Success (~ (maybe.else g!temp bindings))}])) + body + branches)))) diff --git a/stdlib/source/library/lux/data/text/unicode/block.lux b/stdlib/source/library/lux/data/text/unicode/block.lux index d0dec884f..bb32ce2ba 100644 --- a/stdlib/source/library/lux/data/text/unicode/block.lux +++ b/stdlib/source/library/lux/data/text/unicode/block.lux @@ -68,7 +68,7 @@ (implementation: .public hash (Hash Block) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash value) (i64.or (i64.left_shifted 32 (..start value)) (..end value)))) diff --git a/stdlib/source/library/lux/data/trace.lux b/stdlib/source/library/lux/data/trace.lux index 23c9fa00b..73f8dc5aa 100644 --- a/stdlib/source/library/lux/data/trace.lux +++ b/stdlib/source/library/lux/data/trace.lux @@ -21,7 +21,7 @@ (implementation: .public comonad (All (_ t) (CoMonad (Trace t))) - (def: &functor ..functor) + (def: functor ..functor) (def: (out wa) ((the #trace wa) diff --git a/stdlib/source/library/lux/documentation.lux b/stdlib/source/library/lux/documentation.lux index a0aa01e82..37b462ea8 100644 --- a/stdlib/source/library/lux/documentation.lux +++ b/stdlib/source/library/lux/documentation.lux @@ -631,17 +631,17 @@ (do meta.monad [expected (meta.exports name)] (in (list (` (is (List Module) - (list& [..#module (~ (code.text name)) - ..#description (~ description) - ..#expected ((~! ..expected) - (~ (code.text (|> expected - (list#each product.left) - ..expected_format)))) - ..#definitions ((~! list.together) (list (~+ definitions)))] - ($_ (# (~! list.monoid) (~' composite)) - (is (List Module) - (# (~! list.monoid) (~' identity))) - (~+ subs))))))))) + (partial_list [..#module (~ (code.text name)) + ..#description (~ description) + ..#expected ((~! ..expected) + (~ (code.text (|> expected + (list#each product.left) + ..expected_format)))) + ..#definitions ((~! list.together) (list (~+ definitions)))] + ($_ (# (~! list.monoid) (~' composite)) + (is (List Module) + (# (~! list.monoid) (~' identity))) + (~+ subs))))))))) (def: listing (-> (List Text) (Markdown Block)) diff --git a/stdlib/source/library/lux/ffi.jvm.lux b/stdlib/source/library/lux/ffi.jvm.lux index 2441cf387..aff9bb6e9 100644 --- a/stdlib/source/library/lux/ffi.jvm.lux +++ b/stdlib/source/library/lux/ffi.jvm.lux @@ -1622,7 +1622,7 @@ (in (list (` ((~! syntax:) (~ setter_call) ((~' in) (.list (.` ((~! io.io) ((~ (code.text setter_command)) (~+ g!obj+) (~ setter_value)))))))))))) (in (list))))] - (in (list& getter_interop setter_interop))) + (in (partial_list getter_interop setter_interop))) ))) (def: (member_import$ vars kind class [import_format member]) @@ -1668,7 +1668,7 @@ =members (|> members (list#each (|>> [import_format])) (monad.each ! (member_import$ class_type_vars kind declaration)))] - (in (list& (class_import$ declaration) (list#conjoint =members))))) + (in (partial_list (class_import$ declaration) (list#conjoint =members))))) (syntax: .public (array [type (..type^ (list)) size .any]) diff --git a/stdlib/source/library/lux/ffi.lux b/stdlib/source/library/lux/ffi.lux index da6bd2b3b..1888db385 100644 --- a/stdlib/source/library/lux/ffi.lux +++ b/stdlib/source/library/lux/ffi.lux @@ -583,22 +583,22 @@ g!class_variables (list#each code.local class_parameters) declaration (` ((~ (code.local (maybe.else class_name alias))) (~+ g!class_variables)))] - (in (list& (` (.type: (~ declaration) - (..Object (.Primitive (~ (code.text (..host_path class_name))) - [(~+ g!class_variables)])))) - (list#each (.function (_ member) - (`` (`` (case member - (~~ (for @.lua (~~ (these)) - @.ruby (~~ (these)) - (~~ (these {#Constructor it} - (..constructor_definition class alias namespace it))))) - - {#Field it} - (..field_definition host_module_import! class alias namespace it) - - {#Method it} - (..method_definition host_module_import! class alias namespace it))))) - (the #members it))))) + (in (partial_list (` (.type: (~ declaration) + (..Object (.Primitive (~ (code.text (..host_path class_name))) + [(~+ g!class_variables)])))) + (list#each (.function (_ member) + (`` (`` (case member + (~~ (for @.lua (~~ (these)) + @.ruby (~~ (these)) + (~~ (these {#Constructor it} + (..constructor_definition class alias namespace it))))) + + {#Field it} + (..field_definition host_module_import! class alias namespace it) + + {#Method it} + (..method_definition host_module_import! class alias namespace it))))) + (the #members it))))) ))) (for @.ruby (these) diff --git a/stdlib/source/library/lux/ffi.old.lux b/stdlib/source/library/lux/ffi.old.lux index 32844a7d7..1758cb5bc 100644 --- a/stdlib/source/library/lux/ffi.old.lux +++ b/stdlib/source/library/lux/ffi.old.lux @@ -1577,7 +1577,7 @@ (in (list (` ((~! syntax:) (~ setter_call) ((~' in) (.list (.` ((~! io.io) ((~ (code.text setter_command)) (~+ g!obj+) (~ setter_value)))))))))))) (in (list))))] - (in (list& getter_interop setter_interop))) + (in (partial_list getter_interop setter_interop))) ))) (def: (member_import$ type_params kind class [import_format member]) @@ -1619,7 +1619,7 @@ =members (|> members (list#each (|>> [import_format])) (monad.each ! (member_import$ (product.right class_decl) kind class_decl)))] - (in (list& (class_import$ class_decl) (list#conjoint =members))))) + (in (partial_list (class_import$ class_decl) (list#conjoint =members))))) (syntax: .public (array [type (..generic_type^ (list)) size .any]) diff --git a/stdlib/source/library/lux/ffi.php.lux b/stdlib/source/library/lux/ffi.php.lux index 2c71beed1..840fb30de 100644 --- a/stdlib/source/library/lux/ffi.php.lux +++ b/stdlib/source/library/lux/ffi.php.lux @@ -249,56 +249,56 @@ code.local))) g!type (code.local (maybe.else class alias)) class_import (` ("php constant" (~ (code.text class))))] - (in (list& (` (type: (~ g!type) - (..Object (Primitive (~ (code.text class)))))) - (list#each (function (_ member) - (case member - {#Field [static? field alias fieldT]} - (if static? - (` ((~! syntax:) ((~ (qualify (maybe.else field alias))) []) - (# (~! meta.monad) (~' in) - (list (` (.as (~ (nullable_type fieldT)) - ("php constant" (~ (code.text (%.format class "::" field)))))))))) - (` (def: ((~ (qualify field)) - (~ g!object)) - (-> (~ g!type) - (~ (nullable_type fieldT))) - (as_expected - (~ (without_null g!temp fieldT (` ("php object get" (~ (code.text field)) - (as (..Object .Any) (~ g!object)))))))))) - - {#Method method} - (case method - {#Static [method alias inputsT io? try? outputT]} - (..make_function (qualify (maybe.else method alias)) - g!temp - (` ("php object get" (~ (code.text method)) - (as (..Object .Any) - ("php constant" (~ (code.text (%.format class "::" method))))))) - inputsT - io? - try? - outputT) - - {#Virtual [method alias inputsT io? try? outputT]} - (let [g!inputs (input_variables inputsT)] - (` (def: ((~ (qualify (maybe.else method alias))) - [(~+ (list#each product.right g!inputs))] - (~ g!object)) - (-> [(~+ (list#each nullable_type inputsT))] - (~ g!type) - (~ (|> (nullable_type outputT) - (try_type try?) - (io_type io?)))) - (as_expected - (~ (<| (with_io io?) - (with_try try?) - (without_null g!temp outputT) - (` ("php object do" - (~ (code.text method)) - (~ g!object) - (~+ (list#each (with_null g!temp) g!inputs))))))))))))) - members))))) + (in (partial_list (` (type: (~ g!type) + (..Object (Primitive (~ (code.text class)))))) + (list#each (function (_ member) + (case member + {#Field [static? field alias fieldT]} + (if static? + (` ((~! syntax:) ((~ (qualify (maybe.else field alias))) []) + (# (~! meta.monad) (~' in) + (list (` (.as (~ (nullable_type fieldT)) + ("php constant" (~ (code.text (%.format class "::" field)))))))))) + (` (def: ((~ (qualify field)) + (~ g!object)) + (-> (~ g!type) + (~ (nullable_type fieldT))) + (as_expected + (~ (without_null g!temp fieldT (` ("php object get" (~ (code.text field)) + (as (..Object .Any) (~ g!object)))))))))) + + {#Method method} + (case method + {#Static [method alias inputsT io? try? outputT]} + (..make_function (qualify (maybe.else method alias)) + g!temp + (` ("php object get" (~ (code.text method)) + (as (..Object .Any) + ("php constant" (~ (code.text (%.format class "::" method))))))) + inputsT + io? + try? + outputT) + + {#Virtual [method alias inputsT io? try? outputT]} + (let [g!inputs (input_variables inputsT)] + (` (def: ((~ (qualify (maybe.else method alias))) + [(~+ (list#each product.right g!inputs))] + (~ g!object)) + (-> [(~+ (list#each nullable_type inputsT))] + (~ g!type) + (~ (|> (nullable_type outputT) + (try_type try?) + (io_type io?)))) + (as_expected + (~ (<| (with_io io?) + (with_try try?) + (without_null g!temp outputT) + (` ("php object do" + (~ (code.text method)) + (~ g!object) + (~+ (list#each (with_null g!temp) g!inputs))))))))))))) + members))))) {#Function [name alias inputsT io? try? outputT]} (let [imported (` ("php constant" (~ (code.text name))))] diff --git a/stdlib/source/library/lux/locale.lux b/stdlib/source/library/lux/locale.lux index 59b9e26e6..98a244fcd 100644 --- a/stdlib/source/library/lux/locale.lux +++ b/stdlib/source/library/lux/locale.lux @@ -42,5 +42,5 @@ (def: .public equivalence (Equivalence Locale) - (# ..hash &equivalence)) + (# ..hash equivalence)) ) diff --git a/stdlib/source/library/lux/locale/language.lux b/stdlib/source/library/lux/locale/language.lux index 3685740da..0efdfc91e 100644 --- a/stdlib/source/library/lux/locale/language.lux +++ b/stdlib/source/library/lux/locale/language.lux @@ -565,7 +565,7 @@ (implementation: .public hash (Hash Language) - (def: &equivalence + (def: equivalence ..equivalence) (def: hash diff --git a/stdlib/source/library/lux/locale/territory.lux b/stdlib/source/library/lux/locale/territory.lux index dcbf207e7..e17297a5c 100644 --- a/stdlib/source/library/lux/locale/territory.lux +++ b/stdlib/source/library/lux/locale/territory.lux @@ -304,7 +304,7 @@ (implementation: .public hash (Hash Territory) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> representation diff --git a/stdlib/source/library/lux/macro.lux b/stdlib/source/library/lux/macro.lux index 733837047..d8e677ba6 100644 --- a/stdlib/source/library/lux/macro.lux +++ b/stdlib/source/library/lux/macro.lux @@ -69,7 +69,7 @@ {.#None} (do //.monad - [parts' (monad.each //.monad full_expansion (list& (code.symbol name) args))] + [parts' (monad.each //.monad full_expansion (partial_list (code.symbol name) args))] (in (list (code.form (list#conjoint parts'))))))) [_ {.#Form {.#Item [harg targs]}}] @@ -179,7 +179,7 @@ (macro: .public (times tokens) (case tokens - (pattern (list& [_ {.#Nat times}] terms)) + (pattern (partial_list [_ {.#Nat times}] terms)) (loop (again [times times before terms]) (case times diff --git a/stdlib/source/library/lux/macro/pattern.lux b/stdlib/source/library/lux/macro/pattern.lux index d255d9a26..da050a5b8 100644 --- a/stdlib/source/library/lux/macro/pattern.lux +++ b/stdlib/source/library/lux/macro/pattern.lux @@ -70,7 +70,7 @@ (macro: .public (or tokens) (case tokens - (pattern (list& [_ {.#Form patterns}] body branches)) + (pattern (partial_list [_ {.#Form patterns}] body branches)) (case patterns {.#End} (failure (..wrong_syntax_error (symbol ..or))) @@ -85,10 +85,10 @@ (macro: .public (template tokens) (case tokens - (pattern (list& [_ {.#Form (list [_ {.#Tuple bindings}] - [_ {.#Tuple templates}])}] - [_ {.#Form data}] - branches)) + (pattern (partial_list [_ {.#Form (list [_ {.#Tuple bindings}] + [_ {.#Tuple templates}])}] + [_ {.#Form data}] + branches)) (case (is (Maybe (List Code)) (do maybe_monad [bindings' (monad#each maybe_monad symbol_short bindings) @@ -114,7 +114,7 @@ (macro: .public (multi tokens) (case tokens - (pattern (list& [_meta {.#Form levels}] body next_branches)) + (pattern (partial_list [_meta {.#Form levels}] body next_branches)) (do meta_monad [mlc (multi_level_case^ levels) .let [initial_bind? (case mlc @@ -145,23 +145,23 @@ (macro: .public (let tokens) (case tokens - (pattern (list& [_meta {.#Form (list [_ {.#Symbol ["" name]}] pattern)}] body branches)) + (pattern (partial_list [_meta {.#Form (list [_ {.#Symbol ["" name]}] pattern)}] body branches)) (.let [g!whole (local$ name)] - (meta#in (list& g!whole - (.` (case (~ g!whole) (~ pattern) (~ body))) - branches))) + (meta#in (partial_list g!whole + (.` (case (~ g!whole) (~ pattern) (~ body))) + branches))) _ (failure (..wrong_syntax_error (symbol ..let))))) (macro: .public (|> tokens) (case tokens - (pattern (list& [_meta {.#Form (list [_ {.#Symbol ["" name]}] [_ {.#Tuple steps}])}] body branches)) + (pattern (partial_list [_meta {.#Form (list [_ {.#Symbol ["" name]}] [_ {.#Tuple steps}])}] body branches)) (.let [g!name (local$ name)] - (meta#in (list& g!name - (.` (.let [(~ g!name) (.|> (~ g!name) (~+ steps))] - (~ body))) - branches))) + (meta#in (partial_list g!name + (.` (.let [(~ g!name) (.|> (~ g!name) (~+ steps))] + (~ body))) + branches))) _ (failure (..wrong_syntax_error (symbol ..|>))))) @@ -170,14 +170,14 @@ (-> Symbol Code) (.` [(~ (text$ module)) (~ (text$ name))])) -(def: (untemplated_list& last inits) +(def: (untemplated_partial_list last inits) (-> Code (List Code) Code) (case inits {.#End} last {.#Item [init inits']} - (.` {.#Item (~ init) (~ (untemplated_list& last inits'))}))) + (.` {.#Item (~ init) (~ (untemplated_partial_list last inits'))}))) (.template [ ] [(def: ( g!meta untemplated_pattern elems) @@ -188,7 +188,7 @@ inits} (do meta_monad [=inits (monad#each meta_monad untemplated_pattern (list#reversed inits))] - (in (.` [(~ g!meta) { (~ (untemplated_list& spliced =inits))}]))) + (in (.` [(~ g!meta) { (~ (untemplated_partial_list spliced =inits))}]))) _ (do meta_monad @@ -232,10 +232,10 @@ (macro: .public (` tokens) (case tokens - (pattern (list& [_meta {.#Form (list template)}] body branches)) + (pattern (partial_list [_meta {.#Form (list template)}] body branches)) (do meta_monad [pattern (untemplated_pattern template)] - (in (list& pattern body branches))) + (in (partial_list pattern body branches))) (pattern (list template)) (do meta_monad diff --git a/stdlib/source/library/lux/macro/syntax.lux b/stdlib/source/library/lux/macro/syntax.lux index 7f76debb1..8a3783149 100644 --- a/stdlib/source/library/lux/macro/syntax.lux +++ b/stdlib/source/library/lux/macro/syntax.lux @@ -41,7 +41,7 @@ (All (_ a) (-> (List [a a]) (List a))) (case pairs {.#End} {.#End} - {.#Item [[x y] pairs']} (list& x y (un_paired pairs')))) + {.#Item [[x y] pairs']} (partial_list x y (un_paired pairs')))) (def: syntax (Parser [Code [Text (List Code)] Code]) diff --git a/stdlib/source/library/lux/math.lux b/stdlib/source/library/lux/math.lux index c9cbed213..c7683c120 100644 --- a/stdlib/source/library/lux/math.lux +++ b/stdlib/source/library/lux/math.lux @@ -97,7 +97,7 @@ ... else (phase.except ..no_arithmetic_for [:it:]))) - (pattern (list& last prevs)) + (pattern (partial_list last prevs)) (`` (cond (check.subsumes? .I64 :it:) (phase.except ..no_arithmetic_for [:it:]) diff --git a/stdlib/source/library/lux/math/modular.lux b/stdlib/source/library/lux/math/modular.lux index 8f4ef73a8..f23071295 100644 --- a/stdlib/source/library/lux/math/modular.lux +++ b/stdlib/source/library/lux/math/modular.lux @@ -100,7 +100,7 @@ (implementation: .public order (All (_ %) (Order (Mod %))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: < ..<)) (template [ ] diff --git a/stdlib/source/library/lux/math/number/frac.lux b/stdlib/source/library/lux/math/number/frac.lux index 526d16ef4..0169ec4f5 100644 --- a/stdlib/source/library/lux/math/number/frac.lux +++ b/stdlib/source/library/lux/math/number/frac.lux @@ -568,7 +568,7 @@ (implementation: .public order (Order Frac) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: < ..<)) (def: .public smallest @@ -831,7 +831,7 @@ (implementation: .public hash (Hash Frac) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash ..bits)) (def: .public (approximately? margin_of_error standard value) diff --git a/stdlib/source/library/lux/math/number/i16.lux b/stdlib/source/library/lux/math/number/i16.lux index 06a52afa5..a349e58d2 100644 --- a/stdlib/source/library/lux/math/number/i16.lux +++ b/stdlib/source/library/lux/math/number/i16.lux @@ -28,7 +28,7 @@ ... (I64 size)) ) -(def: .public equivalence (Equivalence I16) (# ..sub &equivalence)) +(def: .public equivalence (Equivalence I16) (# ..sub sub_equivalence)) (def: .public width Nat (# ..sub bits)) (def: .public i16 (-> I64 I16) (# ..sub narrow)) (def: .public i64 (-> I16 I64) (# ..sub wide)) diff --git a/stdlib/source/library/lux/math/number/i32.lux b/stdlib/source/library/lux/math/number/i32.lux index 6ddbcf015..5d6d7e915 100644 --- a/stdlib/source/library/lux/math/number/i32.lux +++ b/stdlib/source/library/lux/math/number/i32.lux @@ -30,7 +30,7 @@ ... (I64 size)) ) -(def: .public equivalence (Equivalence I32) (# ..sub &equivalence)) +(def: .public equivalence (Equivalence I32) (# ..sub sub_equivalence)) (def: .public width Nat (# ..sub bits)) (def: .public i32 (-> I64 I32) (# ..sub narrow)) (def: .public i64 (-> I32 I64) (# ..sub wide)) diff --git a/stdlib/source/library/lux/math/number/i64.lux b/stdlib/source/library/lux/math/number/i64.lux index 299e192e2..430127b4b 100644 --- a/stdlib/source/library/lux/math/number/i64.lux +++ b/stdlib/source/library/lux/math/number/i64.lux @@ -126,7 +126,7 @@ (implementation: .public hash (All (_ a) (Hash (I64 a))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> .nat))) @@ -181,7 +181,7 @@ (type: .public (Sub size) (Interface (is (Equivalence (I64 size)) - &equivalence) + sub_equivalence) (is Nat bits) (is (-> I64 (I64 size)) @@ -199,7 +199,7 @@ co_mantissa (..xor (.i64 -1) mantissa)] {.#Some (is Sub (implementation - (def: &equivalence ..equivalence) + (def: sub_equivalence ..equivalence) (def: bits width) (def: (narrow value) (..or (|> value (..and ..sign) (..right_shifted sign_shift)) diff --git a/stdlib/source/library/lux/math/number/i8.lux b/stdlib/source/library/lux/math/number/i8.lux index 15dc8c13a..942c1f222 100644 --- a/stdlib/source/library/lux/math/number/i8.lux +++ b/stdlib/source/library/lux/math/number/i8.lux @@ -28,7 +28,7 @@ ... (I64 size)) ) -(def: .public equivalence (Equivalence I8) (# ..sub &equivalence)) +(def: .public equivalence (Equivalence I8) (# ..sub sub_equivalence)) (def: .public width Nat (# ..sub bits)) (def: .public i8 (-> I64 I8) (# ..sub narrow)) (def: .public i64 (-> I8 I64) (# ..sub wide)) diff --git a/stdlib/source/library/lux/math/number/int.lux b/stdlib/source/library/lux/math/number/int.lux index 3b02cfa6e..f03646def 100644 --- a/stdlib/source/library/lux/math/number/int.lux +++ b/stdlib/source/library/lux/math/number/int.lux @@ -166,13 +166,13 @@ (implementation: .public order (Order Int) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: < ..<)) (implementation: .public enum (Enum Int) - (def: &order ..order) + (def: order ..order) (def: succ ++) (def: pred --)) @@ -180,7 +180,7 @@ (implementation: .public interval (Interval Int) - (def: &enum ..enum) + (def: enum ..enum) (def: top ... +9,223,372,036,854,775,807 (let [half (//i64.left_shifted 62 +1)] @@ -244,7 +244,7 @@ (implementation: .public hash (Hash Int) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> .nat))) (def: .public (right_shifted parameter subject) diff --git a/stdlib/source/library/lux/math/number/nat.lux b/stdlib/source/library/lux/math/number/nat.lux index da1670111..2f570c7c2 100644 --- a/stdlib/source/library/lux/math/number/nat.lux +++ b/stdlib/source/library/lux/math/number/nat.lux @@ -150,20 +150,20 @@ (implementation: .public order (Order Nat) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: < ..<)) (implementation: .public enum (Enum Nat) - (def: &order ..order) + (def: order ..order) (def: succ ++) (def: pred --)) (implementation: .public interval (Interval Nat) - (def: &enum ..enum) + (def: enum ..enum) (def: top (-- 0)) (def: bottom 0)) @@ -362,5 +362,5 @@ (implementation: .public hash (Hash Nat) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash function.identity)) diff --git a/stdlib/source/library/lux/math/number/ratio.lux b/stdlib/source/library/lux/math/number/ratio.lux index d8e6bd016..883e63dae 100644 --- a/stdlib/source/library/lux/math/number/ratio.lux +++ b/stdlib/source/library/lux/math/number/ratio.lux @@ -85,7 +85,7 @@ (implementation: .public order (Order Ratio) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: < ..<)) (def: .public (+ parameter subject) diff --git a/stdlib/source/library/lux/math/number/rev.lux b/stdlib/source/library/lux/math/number/rev.lux index cf07f2039..c6cdd0995 100644 --- a/stdlib/source/library/lux/math/number/rev.lux +++ b/stdlib/source/library/lux/math/number/rev.lux @@ -183,26 +183,26 @@ (implementation: .public hash (Hash Rev) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> .nat))) (implementation: .public order (Order Rev) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: < ..<)) (implementation: .public enum (Enum Rev) - (def: &order ..order) + (def: order ..order) (def: succ ++) (def: pred --)) (implementation: .public interval (Interval Rev) - (def: &enum ..enum) + (def: enum ..enum) (def: top (.rev -1)) (def: bottom (.rev 0))) diff --git a/stdlib/source/library/lux/math/random.lux b/stdlib/source/library/lux/math/random.lux index 9b6153dfb..5dc32f986 100644 --- a/stdlib/source/library/lux/math/random.lux +++ b/stdlib/source/library/lux/math/random.lux @@ -55,7 +55,7 @@ (implementation: .public apply (Apply Random) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (function (_ state) @@ -66,7 +66,7 @@ (implementation: .public monad (Monad Random) - (def: &functor ..functor) + (def: functor ..functor) (def: (in a) (function (_ state) diff --git a/stdlib/source/library/lux/meta.lux b/stdlib/source/library/lux/meta.lux index 0ec0b9aaa..f1337c481 100644 --- a/stdlib/source/library/lux/meta.lux +++ b/stdlib/source/library/lux/meta.lux @@ -45,7 +45,7 @@ (implementation: .public apply (Apply Meta) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (function (_ lux) @@ -64,7 +64,7 @@ (implementation: .public monad (Monad Meta) - (def: &functor ..functor) + (def: functor ..functor) (def: (in x) (function (_ lux) diff --git a/stdlib/source/library/lux/meta/symbol.lux b/stdlib/source/library/lux/meta/symbol.lux index d07f8e092..e745413af 100644 --- a/stdlib/source/library/lux/meta/symbol.lux +++ b/stdlib/source/library/lux/meta/symbol.lux @@ -28,12 +28,12 @@ (def: .public equivalence (Equivalence Symbol) - (# ..hash &equivalence)) + (# ..hash equivalence)) (implementation: .public order (Order Symbol) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< [moduleP shortP] [moduleS shortS]) (if (text#= moduleP moduleS) (# text.order < shortP shortS) diff --git a/stdlib/source/library/lux/target/common_lisp.lux b/stdlib/source/library/lux/target/common_lisp.lux index c868a0781..dbeee8bdb 100644 --- a/stdlib/source/library/lux/target/common_lisp.lux +++ b/stdlib/source/library/lux/target/common_lisp.lux @@ -196,9 +196,9 @@ (def: .public (destructuring_bind [bindings expression] body) (-> [Var/* (Expression Any)] (List (Expression Any)) (Computation Any)) - (..form (list& (..var "destructuring-bind") - (transmutation bindings) expression - body))) + (..form (partial_list (..var "destructuring-bind") + (transmutation bindings) expression + body))) (template [ + + +] [(`` (def: .public ( [(~~ (template.spliced +))] function) @@ -289,7 +289,7 @@ (def: .public (funcall/+ [func args]) (-> [(Expression Any) (List (Expression Any))] (Computation Any)) - (..call/* (..var "funcall") (list& func args))) + (..call/* (..var "funcall") (partial_list func args))) (def: .public (search/3 [reference space start]) (-> [(Expression Any) (Expression Any) (Expression Any)] (Computation Any)) @@ -347,12 +347,12 @@ (template [ ] [(def: .public ( bindings body) (-> (List [Var/1 (Expression Any)]) (List (Expression Any)) (Computation Any)) - (..form (list& (..var ) - (|> bindings - (list#each (function (_ [name value]) - (..form (list name value)))) - ..form) - body)))] + (..form (partial_list (..var ) + (|> bindings + (list#each (function (_ [name value]) + (..form (list name value)))) + ..form) + body)))] [let "let"] [let* "let*"] @@ -369,7 +369,7 @@ (template [ ] [(def: .public (-> (List (Expression Any)) (Computation Any)) - (|>> (list& (..var )) ..form))] + (|>> (partial_list (..var )) ..form))] [progn "progn"] [tagbody "tagbody"] @@ -392,13 +392,13 @@ (def: .public (handler_case handlers body) (-> (List Handler) (Expression Any) (Computation Any)) - (..form (list& (..var "handler-case") - body - (list#each (function (_ [type condition handler]) - (..form (list type - (transmutation (..args (list condition))) - handler))) - handlers)))) + (..form (partial_list (..var "handler-case") + body + (list#each (function (_ [type condition handler]) + (..form (list type + (transmutation (..args (list condition))) + handler))) + handlers)))) (template [ ] [(def: .public ( conditions expression) @@ -414,7 +414,7 @@ _ (abstraction (format (|> conditions (list#each ..symbol) - (list& (..symbol "or")) ..form + (partial_list (..symbol "or")) ..form representation) " " (representation expression)))))] @@ -427,7 +427,7 @@ (def: .public (block name body) (-> Label (List (Expression Any)) (Computation Any)) - (..form (list& (..var "block") (transmutation name) body))) + (..form (partial_list (..var "block") (transmutation name) body))) (def: .public (return_from target value) (-> Label (Expression Any) (Computation Any)) @@ -439,11 +439,11 @@ (def: .public (cond clauses else) (-> (List [(Expression Any) (Expression Any)]) (Expression Any) (Computation Any)) - (..form (list& (..var "cond") - (list#composite (list#each (function (_ [test then]) - (..form (list test then))) - clauses) - (list (..form (list (..bool true) else))))))) + (..form (partial_list (..var "cond") + (list#composite (list#each (function (_ [test then]) + (..form (list test then))) + clauses) + (list (..form (list (..bool true) else))))))) (def: .public tag (-> Text Tag) diff --git a/stdlib/source/library/lux/target/jvm/bytecode.lux b/stdlib/source/library/lux/target/jvm/bytecode.lux index 1c5a85731..d6de25632 100644 --- a/stdlib/source/library/lux/target/jvm/bytecode.lux +++ b/stdlib/source/library/lux/target/jvm/bytecode.lux @@ -218,7 +218,7 @@ (implementation: .public monad (Monad Bytecode) - (def: &functor ..functor) + (def: functor ..functor) (def: (in it) (function (_ state) @@ -947,7 +947,7 @@ (try|in (let [@from (the #program_counter tracker)] [[pool environment' - (|> (list#mix (..acknowledge_label actual) tracker (list& default at_minimum afterwards)) + (|> (list#mix (..acknowledge_label actual) tracker (partial_list default at_minimum afterwards)) (has #program_counter program_counter'))] [(function (_ resolver) (let [get (is (-> Label (Maybe [Stack (Maybe Address)])) @@ -989,7 +989,7 @@ (try|in (let [@from (the #program_counter tracker)] [[pool environment' - (|> (list#mix (..acknowledge_label actual) tracker (list& default (list#each product.right cases))) + (|> (list#mix (..acknowledge_label actual) tracker (partial_list default (list#each product.right cases))) (has #program_counter program_counter'))] [(function (_ resolver) (let [get (is (-> Label (Maybe [Stack (Maybe Address)])) diff --git a/stdlib/source/library/lux/target/jvm/constant/pool.lux b/stdlib/source/library/lux/target/jvm/constant/pool.lux index 12e6609e3..936cfe3c4 100644 --- a/stdlib/source/library/lux/target/jvm/constant/pool.lux +++ b/stdlib/source/library/lux/target/jvm/constant/pool.lux @@ -60,7 +60,7 @@ (implementation: .public monad (Monad Resource) - (def: &functor ..functor) + (def: functor ..functor) (def: (in it) (function (_ state) diff --git a/stdlib/source/library/lux/target/jvm/encoding/signed.lux b/stdlib/source/library/lux/target/jvm/encoding/signed.lux index 160141e3b..85e812b71 100644 --- a/stdlib/source/library/lux/target/jvm/encoding/signed.lux +++ b/stdlib/source/library/lux/target/jvm/encoding/signed.lux @@ -37,7 +37,7 @@ (implementation: .public order (All (_ brand) (Order (Signed brand))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< reference sample) (i.< (representation reference) (representation sample)))) diff --git a/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux b/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux index 0282dd0b2..7e47d8260 100644 --- a/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux +++ b/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux @@ -37,7 +37,7 @@ (implementation: .public order (All (_ brand) (Order (Unsigned brand))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< reference sample) (n.< (representation reference) (representation sample)))) diff --git a/stdlib/source/library/lux/target/jvm/method.lux b/stdlib/source/library/lux/target/jvm/method.lux index be590f849..cac656214 100644 --- a/stdlib/source/library/lux/target/jvm/method.lux +++ b/stdlib/source/library/lux/target/jvm/method.lux @@ -57,7 +57,7 @@ [@name (//pool.utf8 name) @descriptor (//pool.descriptor (//type.descriptor type)) attributes (|> (if with_signature? - (list& (//attribute.signature (//type.signature type)) attributes) + (partial_list (//attribute.signature (//type.signature type)) attributes) attributes) (monad.all !) (# ! each sequence.of_list)) diff --git a/stdlib/source/library/lux/target/jvm/type.lux b/stdlib/source/library/lux/target/jvm/type.lux index 4343e6ff0..b0a0a1624 100644 --- a/stdlib/source/library/lux/target/jvm/type.lux +++ b/stdlib/source/library/lux/target/jvm/type.lux @@ -160,7 +160,7 @@ (implementation: .public hash (All (_ category) (Hash (Type category))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> ..signature (# /signature.hash hash)))) (def: .public (primitive? type) diff --git a/stdlib/source/library/lux/target/jvm/type/signature.lux b/stdlib/source/library/lux/target/jvm/type/signature.lux index a5b710c59..ddf19de5a 100644 --- a/stdlib/source/library/lux/target/jvm/type/signature.lux +++ b/stdlib/source/library/lux/target/jvm/type/signature.lux @@ -177,6 +177,6 @@ (implementation: .public hash (All (_ category) (Hash (Signature category))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> representation text#hash))) ) diff --git a/stdlib/source/library/lux/target/lua.lux b/stdlib/source/library/lux/target/lua.lux index a6e63c04c..ef63669f0 100644 --- a/stdlib/source/library/lux/target/lua.lux +++ b/stdlib/source/library/lux/target/lua.lux @@ -52,7 +52,7 @@ (implementation: .public hash (All (_ brand) (Hash (Code brand))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> representation (# text.hash hash)))) (def: .public manual diff --git a/stdlib/source/library/lux/target/php.lux b/stdlib/source/library/lux/target/php.lux index a8bfa37a1..5338f7aa6 100644 --- a/stdlib/source/library/lux/target/php.lux +++ b/stdlib/source/library/lux/target/php.lux @@ -60,7 +60,7 @@ (implementation: .public hash (All (_ brand) (Hash (Code brand))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> representation (# text.hash hash)))) (def: .public manual @@ -198,7 +198,7 @@ ... TODO: Remove when no longer using JPHP. (def: .public (apply/*' args func) (-> (List Expression) Expression Computation) - (apply/* (list& func args) (..constant "call_user_func"))) + (apply/* (partial_list func args) (..constant "call_user_func"))) (def: parameters (-> (List Argument) Text) @@ -322,7 +322,7 @@ (def: .public (array_merge/+ required optionals) (-> Expression (List Expression) Computation) - (..apply/* (list& required optionals) (..constant "array_merge"))) + (..apply/* (partial_list required optionals) (..constant "array_merge"))) (def: .public (array/** kvs) (-> (List [Expression Expression]) Literal) diff --git a/stdlib/source/library/lux/target/python.lux b/stdlib/source/library/lux/target/python.lux index 1210e2ad1..492881cea 100644 --- a/stdlib/source/library/lux/target/python.lux +++ b/stdlib/source/library/lux/target/python.lux @@ -69,7 +69,7 @@ (implementation: .public hash (All (_ brand) (Hash (Code brand))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> representation (# text.hash hash)))) (def: .public manual @@ -430,7 +430,7 @@ {.#None} (.list))] (abstraction - (format "exec" (representation (..tuple (list& code extra))))))) + (format "exec" (representation (..tuple (partial_list code extra))))))) (def: .public (def name args body) (-> SVar (List (Ex (_ k) (Var k))) (Statement Any) (Statement Any)) diff --git a/stdlib/source/library/lux/target/scheme.lux b/stdlib/source/library/lux/target/scheme.lux index 3bd2b22ce..509d1fe05 100644 --- a/stdlib/source/library/lux/target/scheme.lux +++ b/stdlib/source/library/lux/target/scheme.lux @@ -43,7 +43,7 @@ (implementation: .public hash (All (_ brand) (Hash (Code brand))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> representation (# text.hash hash)))) (template [ +] @@ -304,7 +304,7 @@ (template [ ] [(def: .public (-> (List Expression) Computation) - (|>> (list& (..var )) ..form))] + (|>> (partial_list (..var )) ..form))] [or "or"] [and "and"] @@ -383,6 +383,6 @@ (list#composite (list#each (function (_ [when then]) (..form (list when then))) clauses)) - (list& variable))) + (partial_list variable))) body))) ) diff --git a/stdlib/source/library/lux/time.lux b/stdlib/source/library/lux/time.lux index cb70226c9..1d8bf0de5 100644 --- a/stdlib/source/library/lux/time.lux +++ b/stdlib/source/library/lux/time.lux @@ -102,7 +102,7 @@ (implementation: .public order (Order Time) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< param subject) (n.< (representation param) (representation subject)))) @@ -110,7 +110,7 @@ (`` (implementation: .public enum (Enum Time) - (def: &order ..order) + (def: order ..order) (def: succ (|>> representation ++ (n.% ..limit) abstraction)) diff --git a/stdlib/source/library/lux/time/date.lux b/stdlib/source/library/lux/time/date.lux index c79e12d32..c19df3444 100644 --- a/stdlib/source/library/lux/time/date.lux +++ b/stdlib/source/library/lux/time/date.lux @@ -120,7 +120,7 @@ (implementation: .public order (Order Date) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< reference sample) (let [reference (representation reference) @@ -343,7 +343,7 @@ (implementation: .public enum (Enum Date) - (def: &order ..order) + (def: order ..order) (def: succ (|>> ..days ++ ..of_days)) diff --git a/stdlib/source/library/lux/time/day.lux b/stdlib/source/library/lux/time/day.lux index 935d1937d..1a5b0a10f 100644 --- a/stdlib/source/library/lux/time/day.lux +++ b/stdlib/source/library/lux/time/day.lux @@ -62,7 +62,7 @@ (implementation: .public order (Order Day) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< reference sample) (n.< (..nat reference) (..nat sample)))) @@ -70,7 +70,7 @@ (implementation: .public enum (Enum Day) - (def: &order ..order) + (def: order ..order) (def: (succ day) (case day @@ -173,7 +173,7 @@ (implementation: .public hash (Hash Day) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash day) (case day (^.template [ ] diff --git a/stdlib/source/library/lux/time/duration.lux b/stdlib/source/library/lux/time/duration.lux index 257401f2d..85e271547 100644 --- a/stdlib/source/library/lux/time/duration.lux +++ b/stdlib/source/library/lux/time/duration.lux @@ -69,7 +69,7 @@ (implementation: .public order (Order Duration) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< param subject) (i.< (representation param) (representation subject)))) @@ -194,7 +194,7 @@ (implementation: .public enum (Enum Duration) - (def: &order ..order) + (def: order ..order) (def: succ (..composite ..milli_second)) (def: pred diff --git a/stdlib/source/library/lux/time/instant.lux b/stdlib/source/library/lux/time/instant.lux index 64467ec99..d32879232 100644 --- a/stdlib/source/library/lux/time/instant.lux +++ b/stdlib/source/library/lux/time/instant.lux @@ -66,14 +66,14 @@ (implementation: .public order (Order Instant) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< param subject) (# i.order < (representation param) (representation subject)))) (`` (implementation: .public enum (Enum Instant) - (def: &order ..order) + (def: order ..order) (~~ (template [] [(def: (|>> representation (# i.enum ) abstraction))] diff --git a/stdlib/source/library/lux/time/month.lux b/stdlib/source/library/lux/time/month.lux index 3d97636a5..503780519 100644 --- a/stdlib/source/library/lux/time/month.lux +++ b/stdlib/source/library/lux/time/month.lux @@ -101,7 +101,7 @@ (implementation: .public hash (Hash Month) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash month) (case month (^.template [ ] @@ -123,7 +123,7 @@ (implementation: .public order (Order Month) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< reference sample) (n.< (..number reference) @@ -132,7 +132,7 @@ (implementation: .public enum (Enum Month) - (def: &order ..order) + (def: order ..order) (def: (succ month) (case month diff --git a/stdlib/source/library/lux/time/year.lux b/stdlib/source/library/lux/time/year.lux index 26924080e..608f29958 100644 --- a/stdlib/source/library/lux/time/year.lux +++ b/stdlib/source/library/lux/time/year.lux @@ -136,7 +136,7 @@ (implementation: .public order (Order Year) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< reference subject) (i.< (..value reference) (..value subject)))) diff --git a/stdlib/source/library/lux/tool/compiler/default/init.lux b/stdlib/source/library/lux/tool/compiler/default/init.lux index c46cbfa7b..5e204f6ca 100644 --- a/stdlib/source/library/lux/tool/compiler/default/init.lux +++ b/stdlib/source/library/lux/tool/compiler/default/init.lux @@ -222,10 +222,10 @@ (def: (default_dependencies prelude input) (-> descriptor.Module ///.Input (List descriptor.Module)) - (list& descriptor.runtime - (if (text#= prelude (the ///.#module input)) - (list) - (list prelude)))) + (partial_list descriptor.runtime + (if (text#= prelude (the ///.#module input)) + (list) + (list prelude)))) (def: module_aliases (-> .Module Aliases) diff --git a/stdlib/source/library/lux/tool/compiler/default/platform.lux b/stdlib/source/library/lux/tool/compiler/default/platform.lux index 0e6a0f2bc..4937ec9c1 100644 --- a/stdlib/source/library/lux/tool/compiler/default/platform.lux +++ b/stdlib/source/library/lux/tool/compiler/default/platform.lux @@ -76,7 +76,7 @@ (these ///generation.Operation )] (type: .public (Platform ) (Record - [#&file_system (file.System Async) + [#file_system (file.System Async) #host (///generation.Host expression directive) #phase (///generation.Phase ) #runtime ( [Registry Output]) @@ -112,7 +112,7 @@ (All (_ document) (-> context.Context module.ID (Key document) (Writer document) (archive.Entry document) (Async (Try Any)))) - (let [system (the #&file_system platform) + (let [system (the #file_system platform) write_artifact! (is (-> [artifact.ID (Maybe Text) Binary] (Action Any)) (function (_ [artifact_id custom content]) (is (Async (Try Any)) @@ -273,8 +273,8 @@ (the #phase platform) generation_bundle)] _ (is (Async (Try Any)) - (cache.enable! async.monad (the #&file_system platform) context)) - [archive analysis_state bundles] (ioW.thaw (list) compilation_configuration (the #host platform) (the #&file_system platform) context import compilation_sources) + (cache.enable! async.monad (the #file_system platform) context)) + [archive analysis_state bundles] (ioW.thaw (list) compilation_configuration (the #host platform) (the #file_system platform) context import compilation_sources) .let [with_missing_extensions (is (All (_ ) (-> (Program expression directive) @@ -744,7 +744,7 @@ {try.#Failure error} (do ! - [_ (cache/archive.cache! (the #&file_system platform) context archive)] + [_ (cache/archive.cache! (the #file_system platform) context archive)] (async#in {try.#Failure error}))))))) (def: (lux_compiler import context platform compilation_sources compiler compilation) @@ -795,7 +795,7 @@ {try.#Failure error} (do ! - [_ (cache/archive.cache! (the #&file_system platform) context archive)] + [_ (cache/archive.cache! (the #file_system platform) context archive)] (async#in {try.#Failure error}))))))) (for @.old (these (def: Fake_State @@ -817,7 +817,7 @@ Lux_Compiler)) (function (_ all_customs importer import! @module [archive lux_state] module) (do [! (try.with async.monad)] - [input (io.read (the #&file_system platform) + [input (io.read (the #file_system platform) importer import compilation_sources diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/complex.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/complex.lux index 4ee608dd2..738795545 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/complex.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/complex.lux @@ -69,8 +69,8 @@ (implementation: .public (hash super) (All (_ a) (-> (Hash a) (Hash (Complex a)))) - (def: &equivalence - (..equivalence (# super &equivalence))) + (def: equivalence + (..equivalence (# super equivalence))) (def: (hash value) (case value diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/coverage.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/coverage.lux index ccb3e06ed..0e100dad2 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/coverage.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/coverage.lux @@ -74,7 +74,7 @@ (-> Coverage (List Coverage)) (case coverage {#Alt left right} - (list& left (alternatives right)) + (partial_list left (alternatives right)) _ (list coverage))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux index 4c706598f..88f4c7069 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux @@ -110,7 +110,7 @@ {.#UnivQ _} (do phase.monad [[@var :var:] (/type.check check.var)] - (general' (list& @var vars) archive analyse (maybe.trusted (type.applied (list :var:) inferT)) args)) + (general' (partial_list @var vars) archive analyse (maybe.trusted (type.applied (list :var:) inferT)) args)) {.#ExQ _} (do phase.monad @@ -138,7 +138,7 @@ argA (<| (/.with_exception ..cannot_infer_argument [inputT argC]) (/type.expecting inputT) (analyse archive argC))] - (in [just_before vars outputT' (list& argA args'A)])) + (in [just_before vars outputT' (partial_list argA args'A)])) {.#Var infer_id} (do phase.monad diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux index 6caf2ffab..394d54163 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux @@ -113,7 +113,7 @@ (do check.monad [[@head :head:] check.var [tail :tuple:] (again envs (maybe.trusted (type.applied (list :head:) :it:)))] - (in [(list& @head tail) :tuple:])) + (in [(partial_list @head tail) :tuple:])) {.#Apply _} (do [! check.monad] @@ -196,7 +196,7 @@ [[memberP [memberP+ thenA]] ((as (All (_ a) (-> (Maybe Nat) Type Code (Operation a) (Operation [Pattern a]))) pattern_analysis) {.#None} memberT memberC then)] - (in [(list& memberP memberP+) thenA])))) + (in [(partial_list memberP memberP+) thenA])))) (do ! [nextA next] (in [(list) nextA])) @@ -283,7 +283,7 @@ {.#None} (..tuple_pattern_analysis pattern_analysis :input: sub_patterns next)))) - (pattern [location {.#Variant (list& [_ {.#Nat lefts}] [_ {.#Bit right?}] values)}]) + (pattern [location {.#Variant (partial_list [_ {.#Nat lefts}] [_ {.#Bit right?}] values)}]) (/.with_location location (do ///.monad [[@ex_var+ :input:'] (/type.check (..tuple :input:))] @@ -324,7 +324,7 @@ _ (/.except ..mismatch [:input:' pattern])))) - (pattern [location {.#Variant (list& [_ {.#Symbol tag}] values)}]) + (pattern [location {.#Variant (partial_list [_ {.#Symbol tag}] values)}]) (/.with_location location (do ///.monad [tag (///extension.lifted (meta.normal tag)) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux index fdb485bbd..b1d7398e6 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux @@ -296,14 +296,14 @@ output (is (List [Symbol Code]) {.#End})]) (case input - (pattern (list& [_ {.#Symbol ["" slotH]}] valueH tail)) + (pattern (partial_list [_ {.#Symbol ["" slotH]}] valueH tail)) (if pattern_matching? (///#in {.#None}) (do ///.monad [slotH (///extension.lifted (meta.normal ["" slotH]))] (again tail {.#Item [slotH valueH] output}))) - (pattern (list& [_ {.#Symbol slotH}] valueH tail)) + (pattern (partial_list [_ {.#Symbol slotH}] valueH tail)) (do ///.monad [slotH (///extension.lifted (meta.normal slotH))] (again tail {.#Item [slotH valueH] output})) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/directive.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/directive.lux index 0c301f277..df695d244 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/directive.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/directive.lux @@ -74,7 +74,7 @@ {try.#Failure error} {try.#Failure error}))))) -(with_expansions [ (these [|form_location| {.#Form (list& [|text_location| {.#Text "lux def module"}] annotations)}])] +(with_expansions [ (these [|form_location| {.#Form (partial_list [|text_location| {.#Text "lux def module"}] annotations)}])] (def: .public (phase wrapper expander) (-> //.Wrapper Expander Phase) (let [analysis (//analysis.phase expander)] @@ -90,10 +90,10 @@ extension_eval (as Eval (wrapper (as_expected compiler_eval)))] _ (//.with (has [//extension.#state /.#analysis /.#state //extension.#state .#eval] extension_eval state))] (case code - (pattern [_ {.#Form (list& [_ {.#Text name}] inputs)}]) + (pattern [_ {.#Form (partial_list [_ {.#Text name}] inputs)}]) (//extension.apply archive again [name inputs]) - (pattern [_ {.#Form (list& macro inputs)}]) + (pattern [_ {.#Form (partial_list macro inputs)}]) (do ! [expansion (/.lifted_analysis (do ! @@ -114,7 +114,7 @@ _ (//.except ..invalid_macro_call code))))] (case expansion - (pattern (list& referrals)) + (pattern (partial_list referrals)) (|> (again archive ) (# ! each (revised /.#referrals (list#composite referrals)))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux index 5acdad833..1d0c1f86b 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux @@ -130,7 +130,7 @@ (phase archive constructorC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference .Any)] - (in {analysis.#Extension extension (list& constructorA inputsA)})))])) + (in {analysis.#Extension extension (partial_list constructorA inputsA)})))])) (def: object::get Handler @@ -154,9 +154,9 @@ (phase archive objectC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference .Any)] - (in {analysis.#Extension extension (list& (analysis.text methodC) - objectA - inputsA)})))])) + (in {analysis.#Extension extension (partial_list (analysis.text methodC) + objectA + inputsA)})))])) (def: bundle::object Bundle @@ -190,7 +190,7 @@ (phase archive abstractionC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference Any)] - (in {analysis.#Extension extension (list& abstractionA inputsA)})))])) + (in {analysis.#Extension extension (partial_list abstractionA inputsA)})))])) (def: js::type_of Handler diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux index 4b7c3e153..3547f8029 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux @@ -946,7 +946,7 @@ (in [[super_name superT] (java/lang/Class::isAssignableFrom super_class target_class)]))) (case (java/lang/Class::getGenericSuperclass source_class) {.#Some super} - (list& super (array.list {.#None} (java/lang/Class::getGenericInterfaces source_class))) + (partial_list super (array.list {.#None} (java/lang/Class::getGenericInterfaces source_class))) {.#None} (if (java/lang/reflect/Modifier::isInterface (java/lang/Class::getModifiers source_class)) @@ -957,7 +957,7 @@ (def: (inheritance_candidate_parents class_loader fromT target_class toT fromC) (-> java/lang/ClassLoader .Type (java/lang/Class java/lang/Object) .Type Code (Operation (List [[Text .Type] Bit]))) (case fromT - (pattern {.#Primitive _ (list& self_classT super_classT super_interfacesT+)}) + (pattern {.#Primitive _ (partial_list self_classT super_classT super_interfacesT+)}) (monad.each phase.monad (function (_ superT) (do [! phase.monad] @@ -965,7 +965,7 @@ super_class (phase.lifted (reflection!.load class_loader super_name))] (in [[super_name superT] (java/lang/Class::isAssignableFrom super_class target_class)]))) - (list& super_classT super_interfacesT+)) + (partial_list super_classT super_interfacesT+)) _ (/////analysis.except ..cannot_cast [fromT toT fromC]))) @@ -1312,8 +1312,8 @@ inputsT _ - (list& {.#Primitive (java/lang/Class::getName owner) owner_tvarsT} - inputsT))) + (partial_list {.#Primitive (java/lang/Class::getName owner) owner_tvarsT} + inputsT))) outputT)]] (in [methodT (reflection!.deprecated? (java/lang/reflect/Method::getDeclaredAnnotations method)) @@ -1397,14 +1397,14 @@ (let [interfaces (array.list {.#None} (java/lang/Class::getInterfaces it)) supers (case (java/lang/Class::getSuperclass it) {.#Some class} - (list& class interfaces) + (partial_list class interfaces) {.#None} interfaces)] (|> supers (list#each family_tree') list#conjoint - (list& it)))) + (partial_list it)))) (def: family_tree (-> (java/lang/Class java/lang/Object) @@ -1454,7 +1454,7 @@ {.#Item method alternatives} (if allow_inheritance? (in method) - (/////analysis.except ..too_many_candidates [actual_class_tvars class_name method_name actual_method_tvars inputsJT (list& method alternatives)]))))) + (/////analysis.except ..too_many_candidates [actual_class_tvars class_name method_name actual_method_tvars inputsJT (partial_list method alternatives)]))))) (def: constructor_method "") @@ -1526,10 +1526,10 @@ (not deprecated?)) [outputT argsA] (inference.general archive analyse methodT (list#each product.right argsTC)) outputJT (check_return outputT)] - (in {/////analysis.#Extension extension_name (list& (/////analysis.text (..signature (jvm.class class (list)))) - (/////analysis.text method) - (/////analysis.text (..signature outputJT)) - (decorate_inputs argsT argsA))})))])) + (in {/////analysis.#Extension extension_name (partial_list (/////analysis.text (..signature (jvm.class class (list)))) + (/////analysis.text method) + (/////analysis.text (..signature outputJT)) + (decorate_inputs argsT argsA))})))])) (def: (invoke::virtual class_loader) (-> java/lang/ClassLoader Handler) @@ -1542,7 +1542,7 @@ [methodT deprecated? exceptionsT] (..method_candidate true class_loader class_tvars class method_tvars method {#Virtual} argsT) _ (phase.assertion ..deprecated_method [class method methodT] (not deprecated?)) - [outputT allA] (inference.general archive analyse methodT (list& objectC (list#each product.right argsTC))) + [outputT allA] (inference.general archive analyse methodT (partial_list objectC (list#each product.right argsTC))) .let [[objectA argsA] (case allA {.#Item objectA argsA} [objectA argsA] @@ -1550,11 +1550,11 @@ _ (undefined))] outputJT (check_return outputT)] - (in {/////analysis.#Extension extension_name (list& (/////analysis.text (..signature (jvm.class class (list)))) - (/////analysis.text method) - (/////analysis.text (..signature outputJT)) - objectA - (decorate_inputs argsT argsA))})))])) + (in {/////analysis.#Extension extension_name (partial_list (/////analysis.text (..signature (jvm.class class (list)))) + (/////analysis.text method) + (/////analysis.text (..signature outputJT)) + objectA + (decorate_inputs argsT argsA))})))])) (def: (invoke::special class_loader) (-> java/lang/ClassLoader Handler) @@ -1567,7 +1567,7 @@ [methodT deprecated? exceptionsT] (..method_candidate false class_loader class_tvars class method_tvars method {#Special} argsT) _ (phase.assertion ..deprecated_method [class method methodT] (not deprecated?)) - [outputT allA] (inference.general archive analyse methodT (list& objectC (list#each product.right argsTC))) + [outputT allA] (inference.general archive analyse methodT (partial_list objectC (list#each product.right argsTC))) .let [[objectA argsA] (case allA {.#Item objectA argsA} [objectA argsA] @@ -1575,11 +1575,11 @@ _ (undefined))] outputJT (check_return outputT)] - (in {/////analysis.#Extension extension_name (list& (/////analysis.text (..signature (jvm.class class (list)))) - (/////analysis.text method) - (/////analysis.text (..signature outputJT)) - objectA - (decorate_inputs argsT argsA))})))])) + (in {/////analysis.#Extension extension_name (partial_list (/////analysis.text (..signature (jvm.class class (list)))) + (/////analysis.text method) + (/////analysis.text (..signature outputJT)) + objectA + (decorate_inputs argsT argsA))})))])) (def: (invoke::interface class_loader) (-> java/lang/ClassLoader Handler) @@ -1595,7 +1595,7 @@ [methodT deprecated? exceptionsT] (..method_candidate true class_loader class_tvars class_name method_tvars method {#Interface} argsT) _ (phase.assertion ..deprecated_method [class_name method methodT] (not deprecated?)) - [outputT allA] (inference.general archive analyse methodT (list& objectC (list#each product.right argsTC))) + [outputT allA] (inference.general archive analyse methodT (partial_list objectC (list#each product.right argsTC))) .let [[objectA argsA] (case allA {.#Item objectA argsA} [objectA argsA] @@ -1604,11 +1604,11 @@ (undefined))] outputJT (check_return outputT)] (in {/////analysis.#Extension extension_name - (list& (/////analysis.text (..signature (jvm.class class_name (list)))) - (/////analysis.text method) - (/////analysis.text (..signature outputJT)) - objectA - (decorate_inputs argsT argsA))})))])) + (partial_list (/////analysis.text (..signature (jvm.class class_name (list)))) + (/////analysis.text method) + (/////analysis.text (..signature outputJT)) + objectA + (decorate_inputs argsT argsA))})))])) (def: (invoke::constructor class_loader) (-> java/lang/ClassLoader Handler) @@ -1622,8 +1622,8 @@ _ (phase.assertion ..deprecated_method [class ..constructor_method methodT] (not deprecated?)) [outputT argsA] (inference.general archive analyse methodT (list#each product.right argsTC))] - (in {/////analysis.#Extension extension_name (list& (/////analysis.text (..signature (jvm.class class (list)))) - (decorate_inputs argsT argsA))})))])) + (in {/////analysis.#Extension extension_name (partial_list (/////analysis.text (..signature (jvm.class class (list)))) + (decorate_inputs argsT argsA))})))])) (def: (bundle::member class_loader) (-> java/lang/ClassLoader Bundle) @@ -1671,8 +1671,8 @@ (def: (annotation_analysis [name parameters]) (-> (Annotation Analysis) Analysis) - (/////analysis.tuple (list& (/////analysis.text name) - (list#each annotation_parameter_analysis parameters)))) + (/////analysis.tuple (partial_list (/////analysis.text name) + (list#each annotation_parameter_analysis parameters)))) (template [ ] [(def: diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux index 4949783fe..a0e5d2a1c 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux @@ -154,9 +154,9 @@ (phase archive objectC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference .Any)] - (in {analysis.#Extension extension (list& (analysis.text methodC) - objectA - inputsA)})))])) + (in {analysis.#Extension extension (partial_list (analysis.text methodC) + objectA + inputsA)})))])) (def: bundle::object Bundle @@ -211,7 +211,7 @@ (phase archive abstractionC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference Any)] - (in {analysis.#Extension extension (list& abstractionA inputsA)})))])) + (in {analysis.#Extension extension (partial_list abstractionA inputsA)})))])) (def: lua::power Handler diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux index ba71661c9..bf2f53507 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux @@ -119,7 +119,7 @@ (////analysis.tuple (list (////analysis.tuple (list#each (|>> ////analysis.nat) cases)) branch)))) - (list& input else) + (partial_list input else) {////analysis.#Extension extension_name}))))]))) ... "lux is" represents reference/pointer equality. diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux index dae6adef6..760db788c 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux @@ -132,7 +132,7 @@ (do [! phase.monad] [inputsA (monad.each ! (|>> (phase archive) (analysis/type.with_type Any)) inputsC) _ (analysis/type.infer .Any)] - (in {analysis.#Extension extension (list& (analysis.text constructor) inputsA)})))])) + (in {analysis.#Extension extension (partial_list (analysis.text constructor) inputsA)})))])) (def: object::get Handler @@ -156,9 +156,9 @@ (phase archive objectC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.with_type Any)) inputsC) _ (analysis/type.infer .Any)] - (in {analysis.#Extension extension (list& (analysis.text methodC) - objectA - inputsA)})))])) + (in {analysis.#Extension extension (partial_list (analysis.text methodC) + objectA + inputsA)})))])) (def: bundle::object Bundle @@ -190,7 +190,7 @@ (phase archive abstractionC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.with_type Any)) inputsC) _ (analysis/type.infer Any)] - (in {analysis.#Extension extension (list& abstractionA inputsA)})))])) + (in {analysis.#Extension extension (partial_list abstractionA inputsA)})))])) (def: php::pack Handler diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux index f35ad7128..ceecbce4f 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux @@ -158,9 +158,9 @@ (phase archive objectC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference .Any)] - (in {analysis.#Extension extension (list& (analysis.text methodC) - objectA - inputsA)})))])) + (in {analysis.#Extension extension (partial_list (analysis.text methodC) + objectA + inputsA)})))])) (def: bundle::object Bundle @@ -200,7 +200,7 @@ (phase archive abstractionC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference Any)] - (in {analysis.#Extension extension (list& abstractionA inputsA)})))])) + (in {analysis.#Extension extension (partial_list abstractionA inputsA)})))])) (def: python::function Handler diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux index a102f6b29..8af81e312 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux @@ -154,9 +154,9 @@ (phase archive objectC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference .Any)] - (in {analysis.#Extension extension (list& (analysis.text methodC) - objectA - inputsA)})))])) + (in {analysis.#Extension extension (partial_list (analysis.text methodC) + objectA + inputsA)})))])) (def: bundle::object Bundle @@ -187,7 +187,7 @@ (phase archive abstractionC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.expecting Any)) inputsC) _ (analysis/type.inference Any)] - (in {analysis.#Extension extension (list& abstractionA inputsA)})))])) + (in {analysis.#Extension extension (partial_list abstractionA inputsA)})))])) (def: ruby::import Handler diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux index c1c425142..da2c2e828 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux @@ -147,7 +147,7 @@ (phase archive abstractionC)) inputsA (monad.each ! (|>> (phase archive) (analysis/type.with_type Any)) inputsC) _ (analysis/type.infer Any)] - (in {analysis.#Extension extension (list& abstractionA inputsA)})))])) + (in {analysis.#Extension extension (partial_list abstractionA inputsA)})))])) (def: .public bundle Bundle diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux index ab72fe131..0906183ef 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux @@ -658,7 +658,7 @@ (jvm.analyse_static_method analyse archive mapping method) {#Overriden_Method method} - (jvm.analyse_overriden_method analyse archive selfT mapping (list& super interfaces) method) + (jvm.analyse_overriden_method analyse archive selfT mapping (partial_list super interfaces) method) {#Abstract_Method method} (jvm.analyse_abstract_method analyse archive method)))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux index 45c374faa..f5fbdaf17 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux @@ -1230,8 +1230,8 @@ (name.internal (..reflection super_class)) (list#each (|>> ..reflection name.internal) super_interfaces) (foreign.variables total_environment) - (list& (..with_anonymous_init class total_environment super_class inputsTI) - methods!) + (partial_list (..with_anonymous_init class total_environment super_class inputsTI) + methods!) (sequence.sequence))) .let [artifact [anonymous_class_name bytecode]] _ (//////generation.execute! artifact) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/php/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/php/common.lux index dc7b0f38b..1caff3899 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/php/common.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/php/common.lux @@ -83,19 +83,19 @@ conditionals)) .let [foreigns (|> conditionals (list#each (|>> product.right synthesis.path/then //case.dependencies)) - (list& (//case.dependencies (synthesis.path/then else))) + (partial_list (//case.dependencies (synthesis.path/then else))) list.together (set.of_list _.hash) set.list) @expression (_.constant (reference.artifact [context_module context_artifact])) - directive (_.define_function @expression (list& (_.parameter @input) (list#each _.reference foreigns)) + directive (_.define_function @expression (partial_list (_.parameter @input) (list#each _.reference foreigns)) (list#mix (function (_ [test then] else) (_.if test (_.return then) else)) (_.return elseG) conditionalsG))] _ (generation.execute! directive) _ (generation.save! context_artifact directive)] - (in (_.apply/* (list& inputG foreigns) @expression))))])) + (in (_.apply/* (partial_list inputG foreigns) @expression))))])) (def: lux_procs Bundle diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/case.lux index fbad56663..43ca63829 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/case.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/case.lux @@ -111,19 +111,19 @@ (-> _.Tag Bit Nat (Maybe (Expression Any)) (Expression Any)) (.let [ (_.eq/2 [@variant @temp])] (_.let (list [@variant ..peek]) - (list& (_.setq @temp (|> idx .int _.int (//runtime.sum//get @variant ))) - (.if simple? - (_.when - (_.go @fail)) - (_.if - (_.go @fail) - (..push! @temp))) - (.case next! - {.#Some next!} - (list next!) - - {.#None} - (list))))))] + (partial_list (_.setq @temp (|> idx .int _.int (//runtime.sum//get @variant ))) + (.if simple? + (_.when + (_.go @fail)) + (_.if + (_.go @fail) + (..push! @temp))) + (.case next! + {.#Some next!} + (list next!) + + {.#None} + (list))))))] [left_choice _.nil (<|)] [right_choice (_.string "") ++] @@ -255,10 +255,10 @@ (list#each (function (_ register) [(..register register) _.nil])))]] - (in (_.let (list& [@cursor (_.list/* (list initG))] - [@savepoint (_.list/* (list))] - [@temp _.nil] - [$output _.nil] - storage) + (in (_.let (partial_list [@cursor (_.list/* (list initG))] + [@savepoint (_.list/* (list))] + [@temp _.nil] + [$output _.nil] + storage) (list pattern_matching! $output))))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/loop.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/loop.lux index acbab199d..29ad332ab 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/loop.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/loop.lux @@ -1,36 +1,36 @@ (.using - [library - [lux {"-" Scope} - [abstract - ["[0]" monad {"+" do}]] - [data - ["[0]" product] - [text - ["%" format {"+" format}]] - [collection - ["[0]" list ("[1]#[0]" functor)]]] - [math - [number - ["n" nat]]] - [target - ["_" common_lisp {"+" Expression}]]]] - ["[0]" // "_" - [runtime {"+" Operation Phase Generator}] - ["[1][0]" case] + [library + [lux {"-" Scope} + [abstract + ["[0]" monad {"+" do}]] + [data + ["[0]" product] + [text + ["%" format {"+" format}]] + [collection + ["[0]" list ("[1]#[0]" functor)]]] + [math + [number + ["n" nat]]] + [target + ["_" common_lisp {"+" Expression}]]]] + ["[0]" // "_" + [runtime {"+" Operation Phase Generator}] + ["[1][0]" case] + ["/[1]" // "_" + ["[1][0]" reference] ["/[1]" // "_" - ["[1][0]" reference] + [synthesis + ["[0]" case]] ["/[1]" // "_" - [synthesis - ["[0]" case]] - ["/[1]" // "_" - ["[0]"synthesis {"+" Scope Synthesis}] - ["[1][0]" generation] - ["//[1]" /// "_" - ["[1][0]" phase] - [meta - [archive {"+" Archive}]] - [reference - [variable {"+" Register}]]]]]]]) + ["[0]"synthesis {"+" Scope Synthesis}] + ["[1][0]" generation] + ["//[1]" /// "_" + ["[1][0]" phase] + [meta + [archive {"+" Archive}]] + [reference + [variable {"+" Register}]]]]]]]) (def: .public (scope expression archive [start initsS+ bodyS]) (Generator (Scope Synthesis)) @@ -53,7 +53,7 @@ (list#each (function (_ [idx init]) [(|> idx (n.+ start) //case.register) init])) - (list& [@output _.nil])) + (partial_list [@output _.nil])) (list (_.tagbody (list @scope (_.setq @output bodyG))) @output)))))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function.lux index 7fd639b8f..1de6aba52 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function.lux @@ -77,15 +77,15 @@ (list#composite (/foreign.variables environment) (/partial.variables arity))) methods (is (List (Resource Method)) - (list& (/init.method classT environment arity) - (/reset.method classT environment arity) - (if (arity.multiary? arity) - (|> (n.min arity /arity.maximum) - list.indices - (list#each (|>> ++ (/apply.method classT environment arity @begin body))) - (list& (/implementation.method classT arity @begin body))) - (list (/implementation.method classT arity @begin body) - (/apply.method classT environment arity @begin body 1)))))] + (partial_list (/init.method classT environment arity) + (/reset.method classT environment arity) + (if (arity.multiary? arity) + (|> (n.min arity /arity.maximum) + list.indices + (list#each (|>> ++ (/apply.method classT environment arity @begin body))) + (partial_list (/implementation.method classT arity @begin body))) + (list (/implementation.method classT arity @begin body) + (/apply.method classT environment arity @begin body 1)))))] (do phase.monad [instance (/new.instance generate archive classT environment arity)] (in [fields methods instance])))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/implementation.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/implementation.lux index 924a2e21d..165c3e502 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/implementation.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/implementation.lux @@ -31,7 +31,7 @@ (def: .public (type :it: arity) (-> (Type Class) Arity (Type category.Method)) (type.method [(list) - (list& :it: (list.repeated arity ////type.value)) + (partial_list :it: (list.repeated arity ////type.value)) ////type.value (list)])) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/init.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/init.lux index e6734dfcb..554f0cb8e 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/init.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/init.lux @@ -53,7 +53,7 @@ (type.method [(list) (list#composite (///foreign.closure environment) (if (arity.multiary? arity) - (list& ///arity.type (..partials arity)) + (partial_list ///arity.type (..partials arity)) (list))) type.void (list)])) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux index 789884c63..136c1c359 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux @@ -592,11 +592,11 @@ (_.aload arity) (_.invokevirtual //function.class ..apply::name (..apply::type //function/arity.minimum)) _.areturn))}))) - (list& (method.method (modifier#composite method.public method.abstract) - ..apply::name - #0 (..apply::type //function/arity.minimum) - (list) - {.#None}))) + (partial_list (method.method (modifier#composite method.public method.abstract) + ..apply::name + #0 (..apply::type //function/arity.minimum) + (list) + {.#None}))) ::method (method.method method.public "" #0 //function.init (list) @@ -627,7 +627,7 @@ {.#None} (name.internal (..reflection ^Object)) (list) (list partial_count) - (list& ::method apply::method+) + (partial_list ::method apply::method+) sequence.empty))] (do ////.monad [_ (generation.execute! [class bytecode]) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/function.lux index bd95510e2..5e6c9ea30 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/function.lux @@ -61,7 +61,7 @@ (list#each (|>> product.left ..capture)))] [(_.set! @selfG (_.closure (list) (list#each _.parameter @inits) ($_ _.then - (_.set! @selfL (_.closure (list& (_.reference @selfL) (list#each _.reference @inits)) + (_.set! @selfL (_.closure (partial_list (_.reference @selfL) (list#each _.reference @inits)) (list) body!)) (_.return @selfL)))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/procedure/host.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/procedure/host.lux index 5a1b6479f..e1b8b84e6 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/procedure/host.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/procedure/host.lux @@ -36,7 +36,7 @@ ... (def: (lua//call proc translate inputs) ... (-> Text @.Proc) ... (case inputs -... (pattern (list& functionS argsS+)) +... (pattern (partial_list functionS argsS+)) ... (do [@ macro.Monad] ... [functionO (translate functionS) ... argsO+ (monad.each @ translate argsS+)] @@ -56,7 +56,7 @@ ... (def: (table//call proc translate inputs) ... (-> Text @.Proc) ... (case inputs -... (pattern (list& tableS [_ {.#Text field}] argsS+)) +... (pattern (partial_list tableS [_ {.#Text field}] argsS+)) ... (do [@ macro.Monad] ... [tableO (translate tableS) ... argsO+ (monad.each @ translate argsS+)] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/case.lux index 3412ae778..0f8d92144 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/case.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/case.lux @@ -231,7 +231,7 @@ sub_members - (list& sub_members)) + (partial_list sub_members)) _ ))))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/loop.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/loop.lux index a8991f643..c11213340 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/loop.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/loop.lux @@ -186,7 +186,7 @@ ))) ... TODO: Stop relying on this custom code. - (pattern {/.#Extension ["lux syntax char case!" (list& input else matches)]}) + (pattern {/.#Extension ["lux syntax char case!" (partial_list input else matches)]}) (if return? (do [! maybe.monad] [input (again false input) @@ -203,7 +203,7 @@ (again false match))) matches) else (again return? else)] - (in {/.#Extension ["lux syntax char case!" (list& input else matches)]})) + (in {/.#Extension ["lux syntax char case!" (partial_list input else matches)]})) {.#None}) {/.#Extension [name args]} diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis.lux b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis.lux index 3b1a2ad84..9ecea955a 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis.lux @@ -454,8 +454,8 @@ (implementation: (path'_hash super) (All (_ a) (-> (Hash a) (Hash (Path' a)))) - (def: &equivalence - (..path'_equivalence (# super &equivalence))) + (def: equivalence + (..path'_equivalence (# super equivalence))) (def: (hash value) (case value @@ -529,8 +529,8 @@ (implementation: (branch_hash super) (All (_ a) (-> (Hash a) (Hash (Branch a)))) - (def: &equivalence - (..branch_equivalence (# super &equivalence))) + (def: equivalence + (..branch_equivalence (# super equivalence))) (def: (hash value) (case value @@ -582,8 +582,8 @@ (implementation: (loop_hash super) (All (_ a) (-> (Hash a) (Hash (Loop a)))) - (def: &equivalence - (..loop_equivalence (# super &equivalence))) + (def: equivalence + (..loop_equivalence (# super equivalence))) (def: (hash value) (case value @@ -620,8 +620,8 @@ (implementation: (function_hash super) (All (_ a) (-> (Hash a) (Hash (Function a)))) - (def: &equivalence - (..function_equivalence (# super &equivalence))) + (def: equivalence + (..function_equivalence (# super equivalence))) (def: (hash value) (case value @@ -655,8 +655,8 @@ (implementation: (control_hash super) (All (_ a) (-> (Hash a) (Hash (Control a)))) - (def: &equivalence - (..control_equivalence (# super &equivalence))) + (def: equivalence + (..control_equivalence (# super equivalence))) (def: (hash value) (case value @@ -692,7 +692,7 @@ (implementation: .public hash (Hash Synthesis) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (hash value) (let [again_hash [..equivalence hash]] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access.lux b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access.lux index cb3e3f50a..bdc53c382 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access.lux @@ -35,4 +35,4 @@ (def: .public equivalence (Equivalence Access) - (# ..hash &equivalence)) + (# ..hash equivalence)) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access/member.lux b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access/member.lux index e6c9fb680..128f12c26 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access/member.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access/member.lux @@ -31,4 +31,4 @@ (def: .public equivalence (Equivalence Member) - (# ..hash &equivalence)) + (# ..hash equivalence)) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access/side.lux b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access/side.lux index 045681ac2..a694b7c45 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access/side.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/access/side.lux @@ -31,4 +31,4 @@ (def: .public equivalence (Equivalence Side) - (# ..hash &equivalence)) + (# ..hash equivalence)) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/simple.lux b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/simple.lux index 05b5201f8..741088fb0 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/simple.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis/simple.lux @@ -60,7 +60,7 @@ (implementation: .public hash (Hash Simple) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: hash (|>> (pipe.case diff --git a/stdlib/source/library/lux/tool/compiler/meta/archive/unit.lux b/stdlib/source/library/lux/tool/compiler/meta/archive/unit.lux index 9412bbb0b..460757c42 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/archive/unit.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/archive/unit.lux @@ -30,7 +30,7 @@ (def: .public equivalence (Equivalence ID) - (# ..hash &equivalence)) + (# ..hash equivalence)) (def: .public none (Set ID) diff --git a/stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux b/stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux index 1ab3be9eb..d87c2ccd6 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux @@ -149,7 +149,7 @@ references) {synthesis.#Apply function arguments} - (|> (list& function arguments) + (|> (partial_list function arguments) (list#each references) list#conjoint))) @@ -203,7 +203,7 @@ [mandatory_dependencies all_dependencies]) [(if mandatory? - (list& artifact_id mandatory_dependencies) + (partial_list artifact_id mandatory_dependencies) mandatory_dependencies) (dictionary.has artifact_id dependencies all_dependencies)]) [(list) diff --git a/stdlib/source/library/lux/tool/compiler/meta/packager/ruby.lux b/stdlib/source/library/lux/tool/compiler/meta/packager/ruby.lux index ed360caec..1f0506a00 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/packager/ruby.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/packager/ruby.lux @@ -96,8 +96,8 @@ (is _.Statement) _.code (# utf8.codec encoded))] - (in (list& [module_id [(..module_file module_id) entry_content]] - sink)))))) + (in (partial_list [module_id [(..module_file module_id) entry_content]] + sink)))))) (def: .public main_file "main.rb") diff --git a/stdlib/source/library/lux/tool/compiler/phase.lux b/stdlib/source/library/lux/tool/compiler/phase.lux index e09552d2c..ff07d7226 100644 --- a/stdlib/source/library/lux/tool/compiler/phase.lux +++ b/stdlib/source/library/lux/tool/compiler/phase.lux @@ -38,7 +38,7 @@ (implementation: .public monad (All (_ s) (Monad (Operation s))) - (def: &functor ..functor) + (def: functor ..functor) (def: (in it) (function (_ state) diff --git a/stdlib/source/library/lux/tool/compiler/reference.lux b/stdlib/source/library/lux/tool/compiler/reference.lux index 3e962f14f..083f7e568 100644 --- a/stdlib/source/library/lux/tool/compiler/reference.lux +++ b/stdlib/source/library/lux/tool/compiler/reference.lux @@ -44,7 +44,7 @@ (implementation: .public hash (Hash Reference) - (def: &equivalence + (def: equivalence ..equivalence) (def: (hash value) diff --git a/stdlib/source/library/lux/tool/compiler/reference/variable.lux b/stdlib/source/library/lux/tool/compiler/reference/variable.lux index a9d4f432e..248398d35 100644 --- a/stdlib/source/library/lux/tool/compiler/reference/variable.lux +++ b/stdlib/source/library/lux/tool/compiler/reference/variable.lux @@ -40,7 +40,7 @@ (implementation: .public hash (Hash Variable) - (def: &equivalence + (def: equivalence ..equivalence) (def: hash diff --git a/stdlib/source/library/lux/type.lux b/stdlib/source/library/lux/type.lux index 8bd91191c..f82207ad0 100644 --- a/stdlib/source/library/lux/type.lux +++ b/stdlib/source/library/lux/type.lux @@ -49,7 +49,7 @@ (case type {.#Function in out'} (.let [[ins out] (flat_function out')] - [(list& in ins) out]) + [(partial_list in ins) out]) _ [(list) type])) @@ -69,7 +69,7 @@ (-> Type (List Type)) (case type { left right} - (list& left ( right)) + (partial_list left ( right)) _ (list type)))] @@ -234,12 +234,12 @@ (^.template [] [{ env body} (|> body - (reduced (list& func param env)) + (reduced (partial_list func param env)) (applied params'))]) ([.#UnivQ] [.#ExQ]) {.#Apply A F} - (applied (list& A params) F) + (applied (partial_list A params) F) {.#Named name unnamed} (applied params unnamed) diff --git a/stdlib/source/library/lux/type/abstract.lux b/stdlib/source/library/lux/type/abstract.lux index 7b8290f11..2b60eb1a4 100644 --- a/stdlib/source/library/lux/type/abstract.lux +++ b/stdlib/source/library/lux/type/abstract.lux @@ -233,14 +233,14 @@ type_varsC abstraction_declaration representation_declaration])] - (in (list& (` (type: (~ export_policy) (~ abstraction_declaration) - (Primitive (~ (code.text (abstraction_type_name [current_module name]))) - [(~+ type_varsC)]))) - (` (type: (~ representation_declaration) - (~ representation_type))) - ($_ list#composite - primitives - (list (` ((~! ..pop!))))))))) + (in (partial_list (` (type: (~ export_policy) (~ abstraction_declaration) + (Primitive (~ (code.text (abstraction_type_name [current_module name]))) + [(~+ type_varsC)]))) + (` (type: (~ representation_declaration) + (~ representation_type))) + ($_ list#composite + primitives + (list (` ((~! ..pop!))))))))) (type: (Selection a) (Variant @@ -268,14 +268,14 @@ (case selection {#Specific specific name} (let [g!var (code.local name)] - (in (list& g!var - (` (.let [(~ g!var) (..representation (~ specific) (~ g!var))] - (~ body))) - branches))) + (in (partial_list g!var + (` (.let [(~ g!var) (..representation (~ specific) (~ g!var))] + (~ body))) + branches))) {#Current name} (let [g!var (code.local name)] - (in (list& g!var - (` (.let [(~ g!var) (..representation (~ g!var))] - (~ body))) - branches))))) + (in (partial_list g!var + (` (.let [(~ g!var) (..representation (~ g!var))] + (~ body))) + branches))))) diff --git a/stdlib/source/library/lux/type/check.lux b/stdlib/source/library/lux/type/check.lux index 31d604f22..51797be2d 100644 --- a/stdlib/source/library/lux/type/check.lux +++ b/stdlib/source/library/lux/type/check.lux @@ -87,7 +87,7 @@ (implementation: .public apply (Apply Check) - (def: &functor ..functor) + (def: functor ..functor) (def: (on fa ff) (function (_ context) @@ -108,7 +108,7 @@ (implementation: .public monad (Monad Check) - (def: &functor ..functor) + (def: functor ..functor) (def: (in x) (function (_ context) @@ -312,7 +312,7 @@ {.#Var next} (if (!n#= start next) {try.#Success [context output]} - (again next (list& next output))) + (again next (partial_list next output))) _ {try.#Success [context (list)]}) @@ -353,7 +353,7 @@ (if (n.< 2 (set.size existing_aliases)) (..except ..cannot_identify [@]) (do ! - [.let [forbidden_aliases (set.of_list n.hash (list& @ aliases)) + [.let [forbidden_aliases (set.of_list n.hash (partial_list @ aliases)) allowed_aliases (set.difference forbidden_aliases existing_aliases)]] (case (set.list allowed_aliases) {.#Item identity _} @@ -374,7 +374,7 @@ (let [[@var :var:] in] (if (n.= @ @var) out - (list& in out))))) + (partial_list in out))))) (is (List [Nat (Maybe Type)]) (list))) context) @@ -396,9 +396,9 @@ [_ (re_bind' {.#None} @other)] (erase! @me)) - (pattern (list& @prev _)) + (pattern (partial_list @prev _)) (case (list.reversed ring) - (pattern (list& @me @next _)) + (pattern (partial_list @me @next _)) (do ! [_ (re_bind {.#Var @next} @prev) _ (re_bind {.#Var @prev} @next)] diff --git a/stdlib/source/library/lux/type/resource.lux b/stdlib/source/library/lux/type/resource.lux index d31a7e1dd..95d88ab50 100644 --- a/stdlib/source/library/lux/type/resource.lux +++ b/stdlib/source/library/lux/type/resource.lux @@ -119,7 +119,7 @@ _ (<>.assertion (exception.error ..index_cannot_be_repeated head) (not (set.member? seen head))) tail (again (set.has head seen))] - (in (list& head tail)))))))) + (in (partial_list head tail)))))))) (def: (no_op monad) (All (_ m) (-> (Monad m) (Linear m Any))) diff --git a/stdlib/source/library/lux/type/unit.lux b/stdlib/source/library/lux/type/unit.lux index 4527a5160..dd8430421 100644 --- a/stdlib/source/library/lux/type/unit.lux +++ b/stdlib/source/library/lux/type/unit.lux @@ -191,7 +191,7 @@ (implementation: .public order (All (_ unit) (Order (Qty unit))) - (def: &equivalence ..equivalence) + (def: equivalence ..equivalence) (def: (< reference sample) (i.< (..out' reference) (..out' sample)))) @@ -199,6 +199,6 @@ (implementation: .public enum (All (_ unit) (Enum (Qty unit))) - (def: &order ..order) + (def: order ..order) (def: succ (|>> ..out' ++ ..in')) (def: pred (|>> ..out' -- ..in'))) diff --git a/stdlib/source/library/lux/world/db/jdbc/output.lux b/stdlib/source/library/lux/world/db/jdbc/output.lux index d6ca98a09..6de6b9d57 100644 --- a/stdlib/source/library/lux/world/db/jdbc/output.lux +++ b/stdlib/source/library/lux/world/db/jdbc/output.lux @@ -1,18 +1,18 @@ (.using - [library - [lux {"-" and int} - [ffi {"+" import:}] - [control - [functor {"+" Functor}] - [apply {"+" Apply}] - [monad {"+" Monad do}] - ["ex" exception] - ["[0]" try {"+" Try}]] - [time - ["[0]" instant {"+" Instant}]] - ["[0]" io {"+" IO}] - [world - [binary {"+" Binary}]]]]) + [library + [lux {"-" and int} + [ffi {"+" import:}] + [control + [functor {"+" Functor}] + [apply {"+" Apply}] + [monad {"+" Monad do}] + ["ex" exception] + ["[0]" try {"+" Try}]] + [time + ["[0]" instant {"+" Instant}]] + ["[0]" io {"+" IO}] + [world + [binary {"+" Binary}]]]]) (import: java/lang/String) @@ -65,7 +65,7 @@ (implementation: .public apply (Apply Output) - (def: &functor ..functor) + (def: functor ..functor) (def: (apply ff fa) (function (_ [idx rs]) @@ -84,7 +84,7 @@ (implementation: .public monad (Monad Output) - (def: &functor ..functor) + (def: functor ..functor) (def: (in a) (function (_ [idx rs]) diff --git a/stdlib/source/library/lux/world/output/video/resolution.lux b/stdlib/source/library/lux/world/output/video/resolution.lux index 6e6bf1036..8883460bc 100644 --- a/stdlib/source/library/lux/world/output/video/resolution.lux +++ b/stdlib/source/library/lux/world/output/video/resolution.lux @@ -21,7 +21,7 @@ (def: .public equivalence (Equivalence Resolution) - (# ..hash &equivalence)) + (# ..hash equivalence)) ... https://en.wikipedia.org/wiki/Display_resolution#Common_display_resolutions (template [ ] diff --git a/stdlib/source/library/lux/world/shell.lux b/stdlib/source/library/lux/world/shell.lux index e94c0dda4..47302a81a 100644 --- a/stdlib/source/library/lux/world/shell.lux +++ b/stdlib/source/library/lux/world/shell.lux @@ -296,7 +296,7 @@ (def: (execute [environment working_directory the_command arguments]) (do [! (try.with io.monad)] - [.let [builder (|> (list& the_command arguments) + [.let [builder (|> (partial_list the_command arguments) ..jvm::arguments_array java/lang/ProcessBuilder::new (java/lang/ProcessBuilder::directory (java/io/File::new (ffi.as_string working_directory))))] diff --git a/stdlib/source/program/aedifex/artifact.lux b/stdlib/source/program/aedifex/artifact.lux index b7342a650..c1c707a98 100644 --- a/stdlib/source/program/aedifex/artifact.lux +++ b/stdlib/source/program/aedifex/artifact.lux @@ -41,12 +41,12 @@ (def: .public equivalence (Equivalence Artifact) - (# ..hash &equivalence)) + (# ..hash equivalence)) (implementation: .public order (Order Artifact) - (def: &equivalence + (def: equivalence ..equivalence) (def: (< reference subject) diff --git a/stdlib/source/program/aedifex/command/auto.lux b/stdlib/source/program/aedifex/command/auto.lux index e3cfaac74..7ae0c53d3 100644 --- a/stdlib/source/program/aedifex/command/auto.lux +++ b/stdlib/source/program/aedifex/command/auto.lux @@ -33,7 +33,7 @@ (# ! each (|>> (try.else (list)) (monad.each ! (targets fs)))) (# ! conjoint) - (# ! each (|>> list.together (list& path)))))) + (# ! each (|>> list.together (partial_list path)))))) (def: .public delay Nat diff --git a/stdlib/source/program/aedifex/command/build.lux b/stdlib/source/program/aedifex/command/build.lux index 4538a2834..4ff240f96 100644 --- a/stdlib/source/program/aedifex/command/build.lux +++ b/stdlib/source/program/aedifex/command/build.lux @@ -143,7 +143,7 @@ (implementation: version_order (Order Version) - (def: &equivalence + (def: equivalence text.equivalence) (def: (< left right) @@ -218,7 +218,8 @@ {try.#Failure error} (if (exception.match? shell.no_more_output error) (write! {try.#Success []}) - (async.upon! write! (console.write_line error console))) + (async.upon! write! (is (Async (Try Any)) + (console.write_line error console)))) {try.#Success line} (async.upon! (function (_ outcome) @@ -229,7 +230,8 @@ {try.#Success _} (async.upon! again (# process [])))) - (console.write_line line console))))) + (is (Async (Try Any)) + (console.write_line line console)))))) io.run!)] read!))] @@ -269,9 +271,9 @@ _ (revised ///runtime.#parameters - (|>> (list& "-cp" (..jvm_class_path host_dependencies) - "--add-opens" "java.base/java.lang=ALL-UNNAMED" - "-Xss16m")) + (|>> (partial_list "-cp" (..jvm_class_path host_dependencies) + "--add-opens" "java.base/java.lang=ALL-UNNAMED" + "-Xss16m")) runtime))) (def: .public (do! console program fs shell resolution) @@ -290,26 +292,28 @@ (do ///action.monad [[resolution lux] (async#in (..lux resolution (the ///.#lux profile))) .let [host_dependencies (..host_dependencies fs home resolution) - [[command lux_params] output] (case lux - {#JVM dependency} - [(|> (the ///.#java profile) - (has ///runtime.#parameters (list "program._")) - (with_jvm_class_path {.#Item (..path fs home dependency) host_dependencies})) - "program.jar"] - - (^.template [ ] - [{ dependency} - [(|> dependency - (..path fs home) - (///runtime.for (the profile))) - ]]) - ([#JS ///.#js "program.js"] - [#Python ///.#java "program.py"] - [#Lua ///.#java "program.lua"] - [#Ruby ///.#java (file.rooted fs "program" ruby_packager.main_file)])) + [[command_environment command lux_params] output] + (case lux + {#JVM dependency} + [(|> (the ///.#java profile) + (has ///runtime.#parameters (list "program._")) + (with_jvm_class_path {.#Item (..path fs home dependency) host_dependencies})) + "program.jar"] + + (^.template [ ] + [{ dependency} + [(|> dependency + (..path fs home) + (///runtime.for (the profile))) + ]]) + ([#JS ///.#js "program.js"] + [#Python ///.#java "program.py"] + [#Lua ///.#java "program.lua"] + [#Ruby ///.#java (file.rooted fs "program" ruby_packager.main_file)])) / (# fs separator) cache_directory (format working_directory / target)] - _ (console.write_line ..start console) + _ (is (Async (Try Any)) + (console.write_line ..start console)) .let [full_parameters (list.together (list lux_params (list "build") (..plural "--library" (..libraries fs home resolution)) @@ -319,17 +323,18 @@ (..singular "--target" cache_directory) (..singular "--module" program_module) (..singular "--configuration" (configuration.format (the ///.#configuration profile)))))] - process (# shell execute [environment + process (# shell execute [(dictionary.composite command_environment environment) working_directory command full_parameters]) _ (..log_output! console process) _ (..log_error! console process) exit (# process await []) - _ (console.write_line (if (i.= shell.normal exit) - ..success - ..failure) - console)] + _ (is (Async (Try Any)) + (console.write_line (if (i.= shell.normal exit) + ..success + ..failure) + console))] (in [exit lux (format cache_directory / output)]))))))) diff --git a/stdlib/source/program/aedifex/command/clean.lux b/stdlib/source/program/aedifex/command/clean.lux index 16bfce404..98f1461a8 100644 --- a/stdlib/source/program/aedifex/command/clean.lux +++ b/stdlib/source/program/aedifex/command/clean.lux @@ -20,11 +20,12 @@ (def: (clean_files! fs root) (-> (file.System Async) Path (Async (Try Any))) - (let [! ///action.monad] - (|> root - (# fs directory_files) - (# ! each (monad.each ! (# fs delete))) - (# ! conjoint)))) + (do [! ///action.monad] + [_ (|> root + (# fs directory_files) + (# ! each (monad.each ! (# fs delete))) + (# ! conjoint))] + (in []))) (def: .public success (-> ///.Target Text) diff --git a/stdlib/source/program/aedifex/command/deploy.lux b/stdlib/source/program/aedifex/command/deploy.lux index eeecd1f8d..6fcd84e21 100644 --- a/stdlib/source/program/aedifex/command/deploy.lux +++ b/stdlib/source/program/aedifex/command/deploy.lux @@ -77,4 +77,5 @@ ///package.#pom [pom pom_data (///dependency/status.verified pom_data)]]))] - (console.write_line ..success console))) + (is (Async (Try Any)) + (console.write_line ..success console)))) diff --git a/stdlib/source/program/aedifex/command/install.lux b/stdlib/source/program/aedifex/command/install.lux index 6933264d3..41338674d 100644 --- a/stdlib/source/program/aedifex/command/install.lux +++ b/stdlib/source/program/aedifex/command/install.lux @@ -73,7 +73,9 @@ ///package.#pom [pom pom_data (///dependency/status.verified pom_data)]]))] - (console.write_line ..success console)) + (is (Async (Try Any)) + (console.write_line ..success console))) _ - (console.write_line ..failure console))) + (is (Async (Try Any)) + (console.write_line ..failure console)))) diff --git a/stdlib/source/program/aedifex/command/pom.lux b/stdlib/source/program/aedifex/command/pom.lux index 20bad61fe..23c25e7e1 100644 --- a/stdlib/source/program/aedifex/command/pom.lux +++ b/stdlib/source/program/aedifex/command/pom.lux @@ -1,26 +1,26 @@ (.using - [library - [lux "*" - [abstract - [monad {"+" do}]] - [control - ["[0]" try ("[1]#[0]" functor)] - [concurrency - ["[0]" async {"+" Async} ("[1]#[0]" monad)]]] - [data - [text - ["%" format {"+" format}] - [encoding - ["[0]" utf8]]] - [format - ["[0]" xml]]] - [world - ["[0]" file] - ["[0]" console {"+" Console}]]]] - ["[0]" /// "_" - [command {"+" Command}] - ["[1][0]" action] - ["[1][0]" pom]]) + [library + [lux "*" + [abstract + [monad {"+" do}]] + [control + ["[0]" try {"+" Try} ("[1]#[0]" functor)] + [concurrency + ["[0]" async {"+" Async} ("[1]#[0]" monad)]]] + [data + [text + ["%" format {"+" format}] + [encoding + ["[0]" utf8]]] + [format + ["[0]" xml]]] + [world + ["[0]" file] + ["[0]" console {"+" Console}]]]] + ["[0]" /// "_" + [command {"+" Command}] + ["[1][0]" action] + ["[1][0]" pom]]) (def: .public success (format "Successfully created POM file: " ///pom.file)) @@ -32,5 +32,6 @@ (try#each (|>> (# xml.codec encoded) (# utf8.codec encoded))) async#in) - _ (# fs write content ///pom.file)] - (console.write_line ..success console))) + _ (# fs write ///pom.file content)] + (is (Async (Try Any)) + (console.write_line ..success console)))) diff --git a/stdlib/source/program/aedifex/command/test.lux b/stdlib/source/program/aedifex/command/test.lux index 3df3e0724..e6d36bfd8 100644 --- a/stdlib/source/program/aedifex/command/test.lux +++ b/stdlib/source/program/aedifex/command/test.lux @@ -4,8 +4,12 @@ [abstract [monad {"+" do}]] [control + [try {"+" Try}] [concurrency ["[0]" async {"+" Async} ("[1]#[0]" monad)]]] + [data + [collection + ["[0]" dictionary]]] [macro ["^" pattern]] [math @@ -41,32 +45,34 @@ (has ///.#program (the ///.#test profile) profile))] (if (i.= shell.normal build_exit) (do ! - [_ (console.write_line ..start console) + [_ (is (Async (Try Any)) + (console.write_line ..start console)) .let [host_dependencies (//build.host_dependencies fs home resolution) - [test_command test_parameters] (case compiler - {//build.#JVM dependency} - (|> program - (///runtime.for (the ///.#java profile)) - (//build.with_jvm_class_path host_dependencies)) + [command_environment test_command test_parameters] (case compiler + {//build.#JVM dependency} + (|> program + (///runtime.for (the ///.#java profile)) + (//build.with_jvm_class_path host_dependencies)) - (^.template [ ] - [{ artifact} - (///runtime.for (the profile) - program)]) - ([//build.#JS ///.#js] - [//build.#Python ///.#python] - [//build.#Lua ///.#lua] - [//build.#Ruby ///.#ruby]))] - process (# shell execute [environment + (^.template [ ] + [{ artifact} + (///runtime.for (the profile) + program)]) + ([//build.#JS ///.#js] + [//build.#Python ///.#python] + [//build.#Lua ///.#lua] + [//build.#Ruby ///.#ruby]))] + process (# shell execute [(dictionary.composite command_environment environment) working_directory test_command test_parameters]) _ (//build.log_output! console process) _ (//build.log_error! console process) exit (# process await []) - _ (console.write_line (if (i.= shell.normal exit) - ..success - ..failure) - console)] + _ (is (Async (Try Any)) + (console.write_line (if (i.= shell.normal exit) + ..success + ..failure) + console))] (in [exit []])) (in [build_exit []]))))) diff --git a/stdlib/source/program/aedifex/command/version.lux b/stdlib/source/program/aedifex/command/version.lux index c61e796df..9c40edd97 100644 --- a/stdlib/source/program/aedifex/command/version.lux +++ b/stdlib/source/program/aedifex/command/version.lux @@ -2,6 +2,7 @@ [library [lux "*" [control + [try {"+" Try}] [concurrency ["[0]" async {"+" Async}]]] ["[0]" meta "_" @@ -16,5 +17,6 @@ (def: .public (do! console profile) (-> (Console Async) (Command Any)) - (console.write_line (version.format meta/version.latest) - console)) + (is (Async (Try Any)) + (console.write_line (version.format meta/version.latest) + console))) diff --git a/stdlib/source/program/aedifex/dependency.lux b/stdlib/source/program/aedifex/dependency.lux index 5bf2e4ef9..4027354d9 100644 --- a/stdlib/source/program/aedifex/dependency.lux +++ b/stdlib/source/program/aedifex/dependency.lux @@ -27,12 +27,12 @@ (def: .public equivalence (Equivalence Dependency) - (# hash &equivalence)) + (# hash equivalence)) (implementation: .public order (Order Dependency) - (def: &equivalence + (def: equivalence ..equivalence) (def: (< reference subject) diff --git a/stdlib/source/program/aedifex/dependency/deployment.lux b/stdlib/source/program/aedifex/dependency/deployment.lux index 735ec1ebd..0b9ca5b83 100644 --- a/stdlib/source/program/aedifex/dependency/deployment.lux +++ b/stdlib/source/program/aedifex/dependency/deployment.lux @@ -73,18 +73,18 @@ (-> ///artifact/type.Type Status (List ///artifact/type.Type)) (with_expansions [ (format type ///artifact/extension.sha-1) (format type ///artifact/extension.md5)] - (list& type - (case status - {///dependency/status.#Unverified} - (list) - - {///dependency/status.#Partial partial} - (list (case partial - {.#Left _} - {.#Right _} )) - - {///dependency/status.#Verified _} - (list ))))) + (partial_list type + (case status + {///dependency/status.#Unverified} + (list) + + {///dependency/status.#Partial partial} + (list (case partial + {.#Left _} + {.#Right _} )) + + {///dependency/status.#Verified _} + (list ))))) (def: (update_snapshot [artifact type] now snapshot) (-> Dependency Instant Metadata (Try Metadata)) diff --git a/stdlib/source/program/aedifex/format.lux b/stdlib/source/program/aedifex/format.lux index 19800f4d9..b7dd105c1 100644 --- a/stdlib/source/program/aedifex/format.lux +++ b/stdlib/source/program/aedifex/format.lux @@ -141,9 +141,13 @@ (` [(~+ (..artifact' artifact)) (~ (code.text type))]))) -(def: (runtime [program parameters]) +(def: (runtime [environment program parameters]) (Format Runtime) - (` [(~ (code.text program)) + (` [(~+ (list#each (function (_ [var value]) + (` [(~ (code.text var)) + (~ (code.text value))])) + (dictionary.entries environment))) + (~ (code.text program)) (~+ (list#each code.text parameters))])) (def: (compiler [definition parameters]) diff --git a/stdlib/source/program/aedifex/hash.lux b/stdlib/source/program/aedifex/hash.lux index 6b3f973ce..a384c5368 100644 --- a/stdlib/source/program/aedifex/hash.lux +++ b/stdlib/source/program/aedifex/hash.lux @@ -131,7 +131,7 @@ {.#Some [head tail]} (do try.monad [head (# n.hex decoded head) - output (binary.write_64! index head output)] + output (binary.has_64! index head output)] (again tail (++ chunk) output)) {.#None} diff --git a/stdlib/source/program/aedifex/input.lux b/stdlib/source/program/aedifex/input.lux index e36db11f0..e15fc6552 100644 --- a/stdlib/source/program/aedifex/input.lux +++ b/stdlib/source/program/aedifex/input.lux @@ -58,5 +58,5 @@ (do [! try.monad] [it it it (..project_parser it) - it (monad.each ! (//project.profile it) (list& //profile.default profiles))] + it (monad.each ! (//project.profile it) (partial_list //profile.default profiles))] (in (mix.with_monoid //profile.monoid list.mix it))))))) diff --git a/stdlib/source/program/aedifex/parser.lux b/stdlib/source/program/aedifex/parser.lux index da92a59d9..094f60507 100644 --- a/stdlib/source/program/aedifex/parser.lux +++ b/stdlib/source/program/aedifex/parser.lux @@ -5,7 +5,7 @@ [monad {"+" do}]] [control ["[0]" maybe] - ["<>" parser + ["<>" parser ("[1]#[0]" functor) ["<[0]>" code {"+" Parser}]]] [data ["[0]" text] @@ -184,8 +184,13 @@ (def: runtime (Parser Runtime) - (.tuple (<>.and .text - (<>.some .text)))) + (let [environment (<>#each (dictionary.of_list text.hash) + (<>.some (.tuple (<>.and .text .text))))] + (.tuple + ($_ <>.and + environment + .text + (<>.some .text))))) (def: profile (Parser /.Profile) diff --git a/stdlib/source/program/aedifex/pom.lux b/stdlib/source/program/aedifex/pom.lux index 323afbb80..8b4e8e0ed 100644 --- a/stdlib/source/program/aedifex/pom.lux +++ b/stdlib/source/program/aedifex/pom.lux @@ -114,9 +114,9 @@ (def: (developer' [name email organization]) (-> /.Developer (List XML)) - (list& (..property "name" name) - (..property "email" email) - (|> organization (maybe#each ..developer_organization) (maybe.else (list))))) + (partial_list (..property "name" name) + (..property "email" email) + (|> organization (maybe#each ..developer_organization) (maybe.else (list))))) (template [ ] [(def: diff --git a/stdlib/source/program/aedifex/repository/local.lux b/stdlib/source/program/aedifex/repository/local.lux index b76833c34..ada14650b 100644 --- a/stdlib/source/program/aedifex/repository/local.lux +++ b/stdlib/source/program/aedifex/repository/local.lux @@ -1,24 +1,24 @@ (.using - [library - [lux "*" - [abstract - [monad {"+" do}]] - [control - ["[0]" try] - [concurrency - ["[0]" async {"+" Async}]]] - [data - ["[0]" text - ["%" format {"+" format}]]] - [world - [program {"+" Program}] - ["[0]" file] - [net - ["[0]" uri {"+" URI}]]]]] - ["[0]" // - ["/[1]" // "_" - ["[1][0]" local] - ["[1][0]" metadata]]]) + [library + [lux "*" + [abstract + [monad {"+" do}]] + [control + ["[0]" try {"+" Try}] + [concurrency + ["[0]" async {"+" Async}]]] + [data + ["[0]" text + ["%" format {"+" format}]]] + [world + [program {"+" Program}] + ["[0]" file] + [net + ["[0]" uri {"+" URI}]]]]] + ["[0]" // + ["/[1]" // "_" + ["[1][0]" local] + ["[1][0]" metadata]]]) (def: (root program /) (-> (Program Async) Text file.Path) @@ -50,13 +50,13 @@ (do [! async.monad] [.let [absolute_path (..absolute_path program (# fs separator) uri)] ? (# fs file? absolute_path) - _ (if ? - (in []) - (case (file.parent fs absolute_path) - {.#Some parent} - (file.make_directories async.monad fs parent) - - _ - (let [! (try.with async.monad)] - (# ! in []))))] - (# fs write content absolute_path)))) + _ (is (Async (Try Any)) + (if ? + (in {try.#Success []}) + (case (file.parent fs absolute_path) + {.#Some parent} + (file.make_directories async.monad fs parent) + + _ + (in {try.#Success []}))))] + (# fs write absolute_path content)))) diff --git a/stdlib/source/program/aedifex/repository/remote.lux b/stdlib/source/program/aedifex/repository/remote.lux index 782b872f1..313be177b 100644 --- a/stdlib/source/program/aedifex/repository/remote.lux +++ b/stdlib/source/program/aedifex/repository/remote.lux @@ -84,8 +84,8 @@ ..base_headers {.#Some [user password]} - (list& ["Authorization" (//identity.basic_auth user password)] - ..base_headers))) + (partial_list ["Authorization" (//identity.basic_auth user password)] + ..base_headers))) {.#Some content} http)) _ ((the @http.#body message) {.#Some 0})] diff --git a/stdlib/source/program/aedifex/runtime.lux b/stdlib/source/program/aedifex/runtime.lux index 57d18d265..7ba73519d 100644 --- a/stdlib/source/program/aedifex/runtime.lux +++ b/stdlib/source/program/aedifex/runtime.lux @@ -8,7 +8,8 @@ ["[0]" text ["%" format {"+" format}]] [collection - ["[0]" list ("[1]#[0]" monoid)]]] + ["[0]" list ("[1]#[0]" monoid)] + ["[0]" dictionary {"+" Dictionary}]]] [macro ["[0]" template]] [world @@ -16,28 +17,30 @@ (type: .public Runtime (Record - [#program Text + [#environment (Dictionary Text Text) + #program Text #parameters (List Text)])) (def: .public equivalence (Equivalence Runtime) ($_ product.equivalence + (dictionary.equivalence text.equivalence) text.equivalence (list.equivalence text.equivalence) )) -(template [ ] +(template [ ] [(def: .public Runtime - [#program + [#environment (dictionary.of_list text.hash (`` (list (~~ (template.spliced ))))) + #program #parameters (`` (list (~~ (template.spliced ))))])] - [default_java "java" ["--add-opens" "java.base/java.lang=ALL-UNNAMED" "-jar"]] - [default_js "node" ["--stack_size=8192"]] - [default_python "python3" []] - [default_lua "lua" []] - ... [default_ruby "RUBY_THREAD_VM_STACK_SIZE=15700000 ruby" []] - [default_ruby "ruby" []] + [default_java "java" [] ["--add-opens" "java.base/java.lang=ALL-UNNAMED" "-jar"]] + [default_js "node" [] ["--stack_size=8192"]] + [default_python "python3" [] []] + [default_lua "lua" [] []] + [default_ruby "ruby" [["RUBY_THREAD_VM_STACK_SIZE" "15700000"]] []] ) (def: .public (for runtime path) diff --git a/stdlib/source/program/compositor.lux b/stdlib/source/program/compositor.lux index e803ead3f..0d5b056d1 100644 --- a/stdlib/source/program/compositor.lux +++ b/stdlib/source/program/compositor.lux @@ -158,7 +158,7 @@ ..timed (do (try.with async.monad) [.let [[compilation_host_dependencies compilation_libraries compilation_compilers compilation_sources compilation_target compilation_module compilation_configuration] compilation] - import (import.import (the platform.#&file_system platform) compilation_libraries) + import (import.import (the platform.#file_system platform) compilation_libraries) [state archive phase_wrapper] (sharing [] (Platform ) platform @@ -174,8 +174,8 @@ (Async (Try [Archive (directive.State+ )])) (as_expected (platform.compile lux_compiler phase_wrapper import file_context expander platform compilation [archive state]))) - _ (cache.cache! (the platform.#&file_system platform) file_context archive) - host_dependencies (..load_host_dependencies (the platform.#&file_system platform) compilation_host_dependencies) + _ (cache.cache! (the platform.#file_system platform) file_context archive) + host_dependencies (..load_host_dependencies (the platform.#file_system platform) compilation_host_dependencies) _ (..package! (for @.old (file.async file.default) @.jvm (file.async file.default) ... TODO: Handle this in a safer manner. @@ -190,7 +190,7 @@ {cli.#Export export} (<| (or_crash! "Export failed:") (do (try.with async.monad) - [_ (export.export (the platform.#&file_system platform) + [_ (export.export (the platform.#file_system platform) export)] (in (debug.log! "Export complete!")))) diff --git a/stdlib/source/specification/lux/abstract/interval.lux b/stdlib/source/specification/lux/abstract/interval.lux index c767e42fd..3fada2cf8 100644 --- a/stdlib/source/specification/lux/abstract/interval.lux +++ b/stdlib/source/specification/lux/abstract/interval.lux @@ -19,5 +19,5 @@ (_.test "No value is bigger than the top." (@//< @//top sample)) (_.test "No value is smaller than the bottom." - (order.> @//&order @//bottom sample)) + (order.> @//order @//bottom sample)) )))) diff --git a/stdlib/source/test/aedifex/cache.lux b/stdlib/source/test/aedifex/cache.lux index 09e022c89..06b33d138 100644 --- a/stdlib/source/test/aedifex/cache.lux +++ b/stdlib/source/test/aedifex/cache.lux @@ -96,7 +96,7 @@ content ..content] (in [dependency (has //package.#origin {//repository/origin.#Remote ""} (//package.local pom content))])))))] - (in (dictionary.of_list //dependency.hash (list& [main_dependency main_package] dependencies))))) + (in (dictionary.of_list //dependency.hash (partial_list [main_dependency main_package] dependencies))))) (def: singular Test diff --git a/stdlib/source/test/aedifex/cli.lux b/stdlib/source/test/aedifex/cli.lux index 0dd70ae6d..3f3f79b1c 100644 --- a/stdlib/source/test/aedifex/cli.lux +++ b/stdlib/source/test/aedifex/cli.lux @@ -66,7 +66,7 @@ {/.#Install} (list "install") {/.#Deploy repository [user password]} (list "deploy" repository user password) {/.#Compilation compilation} (..compilation_format compilation) - {/.#Auto compilation} (list& "auto" (..compilation_format compilation)))) + {/.#Auto compilation} (partial_list "auto" (..compilation_format compilation)))) (def: without_profile Test @@ -92,7 +92,7 @@ (_.test "With profile." (|> expected_command ..format - (list& "with" expected_profile) + (partial_list "with" expected_profile) (cli.result /.command) (pipe.case {try.#Success [actual_profile actual_command]} diff --git a/stdlib/source/test/lux.lux b/stdlib/source/test/lux.lux index 9e52c5465..e0798b844 100644 --- a/stdlib/source/test/lux.lux +++ b/stdlib/source/test/lux.lux @@ -179,9 +179,9 @@ _ false)) - (_.cover [/.list&] - (case (/.list& e/0 e/1 (/.list e/2 e/3)) - (pattern (/.list& a/0 a/1 (/.list a/2 a/3))) + (_.cover [/.partial_list] + (case (/.partial_list e/0 e/1 (/.list e/2 e/3)) + (pattern (/.partial_list a/0 a/1 (/.list a/2 a/3))) (and (n.= e/0 a/0) (n.= e/1 a/1) (n.= e/2 a/2) @@ -1131,7 +1131,7 @@ let/3 .local]) (in (list (code.bit (case (the .#scopes *lux*) - (pattern (list& scope/2 _)) + (pattern (partial_list scope/2 _)) (let [locals/2 (the .#locals scope/2) expected_locals/2 (set.of_list text.hash (list fn/2 var/2 let/2 let/3)) diff --git a/stdlib/source/test/lux/control/security/policy.lux b/stdlib/source/test/lux/control/security/policy.lux index 6d72ff177..cbdc528bd 100644 --- a/stdlib/source/test/lux/control/security/policy.lux +++ b/stdlib/source/test/lux/control/security/policy.lux @@ -54,7 +54,7 @@ (implementation (def: &hash (implementation - (def: &equivalence + (def: equivalence (implementation (def: (= reference sample) (text#= (%#can_downgrade reference) diff --git a/stdlib/source/test/lux/data/collection/dictionary.lux b/stdlib/source/test/lux/data/collection/dictionary.lux index 491e35448..2f9465e94 100644 --- a/stdlib/source/test/lux/data/collection/dictionary.lux +++ b/stdlib/source/test/lux/data/collection/dictionary.lux @@ -56,7 +56,7 @@ [constant random.nat .let [hash (is (Hash Nat) (implementation - (def: &equivalence n.equivalence) + (def: equivalence n.equivalence) (def: (hash _) constant)))]] (_.cover [/.key_hash] diff --git a/stdlib/source/test/lux/data/collection/set.lux b/stdlib/source/test/lux/data/collection/set.lux index 0d6f31475..a5336f6f7 100644 --- a/stdlib/source/test/lux/data/collection/set.lux +++ b/stdlib/source/test/lux/data/collection/set.lux @@ -55,7 +55,7 @@ [hash (# ! each (function (_ constant) (is (Hash Nat) (implementation - (def: &equivalence n.equivalence) + (def: equivalence n.equivalence) (def: (hash _) constant)))) diff --git a/stdlib/source/test/lux/data/collection/set/ordered.lux b/stdlib/source/test/lux/data/collection/set/ordered.lux index 04a3eed86..b4b97a984 100644 --- a/stdlib/source/test/lux/data/collection/set/ordered.lux +++ b/stdlib/source/test/lux/data/collection/set/ordered.lux @@ -23,15 +23,15 @@ (random.Random Nat) (# random.monad each (n.% 100) random.nat)) -(def: .public (random size &order gen_value) +(def: .public (random size order gen_value) (All (_ a) (-> Nat (Order a) (Random a) (Random (Set a)))) (case size 0 - (random#in (/.empty &order)) + (random#in (/.empty order)) _ (do random.monad - [partial (random (-- size) &order gen_value) + [partial (random (-- size) order gen_value) value (random.only (|>> (/.member? partial) not) gen_value)] (in (/.has value partial))))) diff --git a/stdlib/source/test/lux/data/collection/stream.lux b/stdlib/source/test/lux/data/collection/stream.lux index d7fa8a191..64c5d6337 100644 --- a/stdlib/source/test/lux/data/collection/stream.lux +++ b/stdlib/source/test/lux/data/collection/stream.lux @@ -111,7 +111,7 @@ (/.iterations (function (_ n) [(++ n) (%.nat n)]) offset))))) (_.cover [/.cycle] - (let [cycle (list& cycle_start cycle_next)] + (let [cycle (partial_list cycle_start cycle_next)] (list#= (list.together (list.repeated size cycle)) (/.first (n.* size (list.size cycle)) (/.cycle [cycle_start cycle_next]))))) diff --git a/stdlib/source/test/lux/data/collection/tree.lux b/stdlib/source/test/lux/data/collection/tree.lux index 8973e4818..b8569005e 100644 --- a/stdlib/source/test/lux/data/collection/tree.lux +++ b/stdlib/source/test/lux/data/collection/tree.lux @@ -1,23 +1,23 @@ (.using - [library - [lux "*" - ["_" test {"+" Test}] - [abstract - ["[0]" monad {"+" do}] - [\\specification - ["$[0]" equivalence] - ["$[0]" mix] - ["$[0]" functor]]] - [data - ["[0]" product] - [collection - ["[0]" list ("[1]#[0]" functor mix)]]] - [math - ["[0]" random {"+" Random}] - [number - ["n" nat]]]]] - [\\library - ["[0]" / {"+" Tree}]]) + [library + [lux "*" + ["_" test {"+" Test}] + [abstract + ["[0]" monad {"+" do}] + [\\specification + ["$[0]" equivalence] + ["$[0]" mix] + ["$[0]" functor]]] + [data + ["[0]" product] + [collection + ["[0]" list ("[1]#[0]" functor mix)]]] + [math + ["[0]" random {"+" Random}] + [number + ["n" nat]]]]] + [\\library + ["[0]" / {"+" Tree}]]) (def: .public (tree gen_value) (All (_ a) (-> (Random a) (Random [Nat (Tree a)]))) @@ -62,7 +62,7 @@ children (random.list num_children random.nat)] (_.cover [/.branch] (# (list.equivalence n.equivalence) = - (list& value children) + (partial_list value children) (/.flat (/.branch value (list#each /.leaf children)))))) (do random.monad [expected/0 random.nat diff --git a/stdlib/source/test/lux/data/collection/tree/finger.lux b/stdlib/source/test/lux/data/collection/tree/finger.lux index 85c5ec037..fb4ddc214 100644 --- a/stdlib/source/test/lux/data/collection/tree/finger.lux +++ b/stdlib/source/test/lux/data/collection/tree/finger.lux @@ -90,8 +90,8 @@ (# builder branch tree (# builder leaf tag value))) (# builder leaf tags/H values/H) (list.zipped_2 tags/T values/T))] - (and (# tags_equivalence = (list& tags/H tags/T) (/.tags tree)) - (# values_equivalence = (list& values/H values/T) (/.values tree)))))) + (and (# tags_equivalence = (partial_list tags/H tags/T) (/.tags tree)) + (# values_equivalence = (partial_list values/H values/T) (/.values tree)))))) (_.cover [/.one] (let [can_find_correct_one! (|> (# ..builder leaf tag_left expected_left) diff --git a/stdlib/source/test/lux/math/number/i64.lux b/stdlib/source/test/lux/math/number/i64.lux index 561ab0f04..ec6b56f7e 100644 --- a/stdlib/source/test/lux/math/number/i64.lux +++ b/stdlib/source/test/lux/math/number/i64.lux @@ -140,7 +140,7 @@ (function (_ narrow) (# random.functor each narrow random.i64)))]] ($_ _.and - ($equivalence.spec (# sub &equivalence) (random (# sub narrow))) + ($equivalence.spec (# sub sub_equivalence) (random (# sub narrow))) (_.cover [/.sub] (let [actual (|> expected .i64 (# sub narrow) (# sub wide))] (#= expected actual))) diff --git a/stdlib/source/test/lux/meta.lux b/stdlib/source/test/lux/meta.lux index 33e22c581..b01cdd67a 100644 --- a/stdlib/source/test/lux/meta.lux +++ b/stdlib/source/test/lux/meta.lux @@ -709,17 +709,17 @@ [label_module [.#module_hash 0 .#module_aliases (list) - .#definitions (list& [name_0 {.#Type [true type_0 {.#Left tags_0}]}] - [name_1 {.#Type [true type_1 {.#Right tags_1}]}] - ($_ list#composite - (|> {.#Item tags_0} - list.enumeration - (list#each (function (_ [index short]) - [short {.#Tag [true type_0 {.#Item tags_0} index]}]))) - (|> {.#Item tags_1} - list.enumeration - (list#each (function (_ [index short]) - [short {.#Slot [true type_1 {.#Item tags_1} index]}]))))) + .#definitions (partial_list [name_0 {.#Type [true type_0 {.#Left tags_0}]}] + [name_1 {.#Type [true type_1 {.#Right tags_1}]}] + ($_ list#composite + (|> {.#Item tags_0} + list.enumeration + (list#each (function (_ [index short]) + [short {.#Tag [true type_0 {.#Item tags_0} index]}]))) + (|> {.#Item tags_1} + list.enumeration + (list#each (function (_ [index short]) + [short {.#Slot [true type_1 {.#Item tags_1} index]}]))))) .#imports (list) .#module_state {.#Active}]]) .#scopes (list) diff --git a/stdlib/source/test/lux/meta/configuration.lux b/stdlib/source/test/lux/meta/configuration.lux index fc300a01d..f3b4b2a5f 100644 --- a/stdlib/source/test/lux/meta/configuration.lux +++ b/stdlib/source/test/lux/meta/configuration.lux @@ -33,7 +33,7 @@ _ (do [! random.monad] [feature (random.ascii/upper amount) value (random.ascii/lower amount)] - (# ! each (|>> (list& [feature value])) + (# ! each (|>> (partial_list [feature value])) (random (-- amount)))))) (syntax: (failure [it .any]) diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/analysis/module.lux b/stdlib/source/test/lux/tool/compiler/language/lux/analysis/module.lux index f87e34b08..538f8375a 100644 --- a/stdlib/source/test/lux/tool/compiler/language/lux/analysis/module.lux +++ b/stdlib/source/test/lux/tool/compiler/language/lux/analysis/module.lux @@ -231,8 +231,8 @@ [definition] [{.#Type [public? def_type {.#Left [labels|head labels|tail]}]}] [{.#Type [public? def_type {.#Right [labels|head labels|tail]}]}] - [{.#Tag [public? def_type (list& labels|head labels|tail) index]}] - [{.#Slot [public? def_type (list& labels|head labels|tail) index]}])) + [{.#Tag [public? def_type (partial_list labels|head labels|tail) index]}] + [{.#Slot [public? def_type (partial_list labels|head labels|tail) index]}])) (|> (/.with hash module_name (do /phase.monad [_ (/.define def_name definition)] @@ -255,8 +255,8 @@ [{.#Definition [public? def_type []]}] [{.#Type [public? def_type {.#Left [labels|head labels|tail]}]}] [{.#Type [public? def_type {.#Right [labels|head labels|tail]}]}] - [{.#Tag [public? def_type (list& labels|head labels|tail) index]}] - [{.#Slot [public? def_type (list& labels|head labels|tail) index]}])) + [{.#Tag [public? def_type (partial_list labels|head labels|tail) index]}] + [{.#Slot [public? def_type (partial_list labels|head labels|tail) index]}])) (|> (/.with hash module_name (do /phase.monad [_ (/.define def_name definition) @@ -294,9 +294,9 @@ (do [! /phase.monad] [.let [it {.#Named [module_name def_name] def_type}] _ (/.define def_name {.#Type [public? it { [labels|head labels|tail]}]}) - _ (/.declare_labels (list& labels|head labels|tail) public? it)] + _ (/.declare_labels (partial_list labels|head labels|tail) public? it)] (monad.each ! (|>> [module_name] /extension.lifted) - (list& labels|head labels|tail)))) + (partial_list labels|head labels|tail)))) (/phase.result state) (pipe.case {try.#Success _} @@ -312,7 +312,7 @@ (do [! /phase.monad] [.let [it def_type] _ (/.define def_name {.#Type [public? it { [labels|head labels|tail]}]})] - (/.declare_labels (list& labels|head labels|tail) public? it))) + (/.declare_labels (partial_list labels|head labels|tail) public? it))) (/phase.result state) (pipe.case {try.#Success _} @@ -329,7 +329,7 @@ (do [! /phase.monad] [.let [it {.#Named [foreign_module def_name] def_type}] _ (/.define def_name {.#Type [public? it { [labels|head labels|tail]}]})] - (/.declare_labels (list& labels|head labels|tail) public? it))) + (/.declare_labels (partial_list labels|head labels|tail) public? it))) (/phase.result state) (pipe.case {try.#Success _} diff --git a/stdlib/source/test/lux/tool/compiler/meta/cli.lux b/stdlib/source/test/lux/tool/compiler/meta/cli.lux index ab9504ee5..97ee8ac28 100644 --- a/stdlib/source/test/lux/tool/compiler/meta/cli.lux +++ b/stdlib/source/test/lux/tool/compiler/meta/cli.lux @@ -59,7 +59,7 @@ (`` ($_ _.and (~~ (template [ ] [(_.cover [] - (|> (list& "build" compilation') + (|> (partial_list "build" compilation') (.result /.service) (try#each (|>> (pipe.case {/.#Compilation it} @@ -82,7 +82,7 @@ ))) (_.cover [/.Interpretation] (`` (and (~~ (template [ ] - [(|> (list& "repl" compilation') + [(|> (partial_list "repl" compilation') (.result /.service) (try#each (|>> (pipe.case {/.#Interpretation it} @@ -104,7 +104,7 @@ ))))) (_.cover [/.Export] (`` (and (~~ (template [ ] - [(|> (list& "export" export) + [(|> (partial_list "export" export) (.result /.service) (try#each (|>> (pipe.case {/.#Export it} diff --git a/stdlib/source/test/lux/type/check.lux b/stdlib/source/test/lux/type/check.lux index 37c006732..fab083c9e 100644 --- a/stdlib/source/test/lux/type/check.lux +++ b/stdlib/source/test/lux/type/check.lux @@ -489,8 +489,8 @@ (succeeds? (do [! /.monad] [[var/head var/tail+ var/last] (..build_ring tail_size) _ (/.check var/head nominal/0) - failures (monad.each ! (|>> (/.check nominal/1) ..verdict) (list& var/head var/tail+)) - successes (monad.each ! (|>> (/.check nominal/0) ..verdict) (list& var/head var/tail+))] + failures (monad.each ! (|>> (/.check nominal/1) ..verdict) (partial_list var/head var/tail+)) + successes (monad.each ! (|>> (/.check nominal/0) ..verdict) (partial_list var/head var/tail+))] (/.assertion "" (and (list.every? (bit#= false) failures) (list.every? (bit#= true) successes))))) @@ -500,8 +500,8 @@ [var/head/1 var/tail+/1 var/last/1] (..build_ring tail_size) _ (/.check var/head/0 var/head/1) _ (/.check var/head/0 nominal/0) - .let [all_variables (list#composite (list& var/head/0 var/tail+/0) - (list& var/head/1 var/tail+/1))] + .let [all_variables (list#composite (partial_list var/head/0 var/tail+/0) + (partial_list var/head/1 var/tail+/1))] failures (monad.each ! (|>> (/.check nominal/1) ..verdict) all_variables) successes (monad.each ! (|>> (/.check nominal/0) ..verdict) all_variables)] (/.assertion "" (and (list.every? (bit#= false) failures) diff --git a/stdlib/source/test/lux/world/file.lux b/stdlib/source/test/lux/world/file.lux index ae9d7ff01..5d1654269 100644 --- a/stdlib/source/test/lux/world/file.lux +++ b/stdlib/source/test/lux/world/file.lux @@ -78,7 +78,7 @@ [_ (atom.compare_and_swap! disk' (dictionary.has @ {.#Left [now it]} disk') disk)] (case (/.parent fs @) {.#Some parent} - (alert_parent! disk (|>> (list& @)) parent) + (alert_parent! disk (|>> (partial_list @)) parent) {.#None} (in {try.#Success []}))) @@ -174,7 +174,7 @@ [_ (atom.compare_and_swap! disk' (dictionary.has @ {.#Right (list)} disk') disk)] (case (/.parent mock @) {.#Some parent} - (alert_parent! disk (|>> (list& @)) parent) + (alert_parent! disk (|>> (partial_list @)) parent) {.#None} (in {try.#Success []}))) -- cgit v1.2.3