From 2dbbaaec93a53f8dd0b96a0028b9cf125c9066cd Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sun, 12 Sep 2021 15:39:55 -0400 Subject: Re-named \ => # && \\ => ## --- stdlib/source/documentation/lux.lux | 68 +- .../documentation/lux/control/concatenative.lux | 6 +- .../lux/control/concurrency/actor.lux | 4 +- stdlib/source/documentation/lux/control/pipe.lux | 2 +- .../source/documentation/lux/data/color/named.lux | 10 +- stdlib/source/documentation/lux/data/product.lux | 2 +- .../source/documentation/lux/data/text/unicode.lux | 2 +- .../documentation/lux/data/text/unicode/block.lux | 8 +- .../documentation/lux/data/text/unicode/set.lux | 2 +- stdlib/source/documentation/lux/extension.lux | 4 +- .../source/documentation/lux/locale/language.lux | 2 +- .../source/documentation/lux/locale/territory.lux | 2 +- stdlib/source/documentation/lux/macro/syntax.lux | 8 +- stdlib/source/documentation/lux/math/logic.lux | 4 +- stdlib/source/documentation/lux/type/implicit.lux | 22 +- stdlib/source/documentation/lux/world.lux | 4 +- stdlib/source/library/lux.lux | 778 ++++++++++----------- stdlib/source/library/lux/abstract/apply.lux | 18 +- stdlib/source/library/lux/abstract/codec.lux | 8 +- stdlib/source/library/lux/abstract/comonad.lux | 4 +- .../source/library/lux/abstract/comonad/cofree.lux | 4 +- stdlib/source/library/lux/abstract/equivalence.lux | 2 +- stdlib/source/library/lux/abstract/functor.lux | 16 +- stdlib/source/library/lux/abstract/hash.lux | 6 +- stdlib/source/library/lux/abstract/interval.lux | 108 +-- stdlib/source/library/lux/abstract/mix.lux | 4 +- stdlib/source/library/lux/abstract/monad.lux | 48 +- stdlib/source/library/lux/abstract/monad/free.lux | 12 +- .../source/library/lux/abstract/monad/indexed.lux | 8 +- stdlib/source/library/lux/abstract/monoid.lux | 7 +- stdlib/source/library/lux/abstract/order.lux | 18 +- .../source/library/lux/control/concatenative.lux | 18 +- .../library/lux/control/concurrency/actor.lux | 24 +- .../library/lux/control/concurrency/async.lux | 4 +- .../library/lux/control/concurrency/atom.lux | 4 +- .../source/library/lux/control/concurrency/frp.lux | 20 +- .../library/lux/control/concurrency/semaphore.lux | 4 +- .../source/library/lux/control/concurrency/stm.lux | 4 +- .../library/lux/control/concurrency/thread.lux | 4 +- stdlib/source/library/lux/control/exception.lux | 38 +- .../source/library/lux/control/function/mutual.lux | 34 +- stdlib/source/library/lux/control/lazy.lux | 6 +- stdlib/source/library/lux/control/maybe.lux | 12 +- stdlib/source/library/lux/control/parser.lux | 24 +- .../source/library/lux/control/parser/analysis.lux | 6 +- .../source/library/lux/control/parser/binary.lux | 16 +- stdlib/source/library/lux/control/parser/cli.lux | 4 +- stdlib/source/library/lux/control/parser/code.lux | 34 +- .../library/lux/control/parser/environment.lux | 2 +- stdlib/source/library/lux/control/parser/json.lux | 16 +- .../library/lux/control/parser/synthesis.lux | 2 +- stdlib/source/library/lux/control/parser/text.lux | 24 +- stdlib/source/library/lux/control/parser/type.lux | 18 +- stdlib/source/library/lux/control/parser/xml.lux | 10 +- stdlib/source/library/lux/control/pipe.lux | 8 +- stdlib/source/library/lux/control/reader.lux | 5 +- stdlib/source/library/lux/control/region.lux | 14 +- stdlib/source/library/lux/control/remember.lux | 10 +- .../library/lux/control/security/capability.lux | 6 +- stdlib/source/library/lux/control/state.lux | 8 +- stdlib/source/library/lux/control/try.lux | 12 +- stdlib/source/library/lux/control/writer.lux | 12 +- .../source/library/lux/data/collection/array.lux | 20 +- stdlib/source/library/lux/data/collection/bits.lux | 4 +- .../library/lux/data/collection/dictionary.lux | 144 ++-- .../lux/data/collection/dictionary/ordered.lux | 52 +- .../lux/data/collection/dictionary/plist.lux | 14 +- stdlib/source/library/lux/data/collection/list.lux | 26 +- .../source/library/lux/data/collection/queue.lux | 10 +- .../library/lux/data/collection/queue/priority.lux | 16 +- stdlib/source/library/lux/data/collection/row.lux | 52 +- .../library/lux/data/collection/sequence.lux | 6 +- stdlib/source/library/lux/data/collection/set.lux | 8 +- .../library/lux/data/collection/set/multi.lux | 18 +- .../library/lux/data/collection/set/ordered.lux | 8 +- .../source/library/lux/data/collection/stack.lux | 4 +- stdlib/source/library/lux/data/collection/tree.lux | 16 +- .../library/lux/data/collection/tree/finger.lux | 8 +- .../library/lux/data/collection/tree/zipper.lux | 30 +- stdlib/source/library/lux/data/color.lux | 12 +- stdlib/source/library/lux/data/format/binary.lux | 18 +- 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 | 24 +- stdlib/source/library/lux/data/format/json.lux | 72 +- stdlib/source/library/lux/data/format/markdown.lux | 8 +- stdlib/source/library/lux/data/format/tar.lux | 68 +- stdlib/source/library/lux/data/format/xml.lux | 64 +- stdlib/source/library/lux/data/name.lux | 14 +- stdlib/source/library/lux/data/product.lux | 12 +- stdlib/source/library/lux/data/store.lux | 12 +- stdlib/source/library/lux/data/sum.lux | 12 +- stdlib/source/library/lux/data/text.lux | 4 +- stdlib/source/library/lux/data/text/buffer.lux | 6 +- stdlib/source/library/lux/data/text/escape.lux | 4 +- stdlib/source/library/lux/data/text/format.lux | 38 +- stdlib/source/library/lux/data/text/regex.lux | 42 +- .../source/library/lux/data/text/unicode/block.lux | 12 +- .../source/library/lux/data/text/unicode/set.lux | 12 +- stdlib/source/library/lux/data/trace.lux | 4 +- stdlib/source/library/lux/debug.lux | 12 +- stdlib/source/library/lux/documentation.lux | 108 +-- stdlib/source/library/lux/extension.lux | 6 +- stdlib/source/library/lux/ffi.js.lux | 34 +- stdlib/source/library/lux/ffi.jvm.lux | 276 ++++---- stdlib/source/library/lux/ffi.lua.lux | 28 +- stdlib/source/library/lux/ffi.old.lux | 202 +++--- stdlib/source/library/lux/ffi.php.lux | 26 +- stdlib/source/library/lux/ffi.py.lux | 28 +- stdlib/source/library/lux/ffi.rb.lux | 26 +- stdlib/source/library/lux/ffi.scm.lux | 16 +- stdlib/source/library/lux/locale.lux | 10 +- stdlib/source/library/lux/locale/language.lux | 2 +- stdlib/source/library/lux/locale/territory.lux | 2 +- stdlib/source/library/lux/macro.lux | 48 +- stdlib/source/library/lux/macro/code.lux | 22 +- stdlib/source/library/lux/macro/local.lux | 4 +- stdlib/source/library/lux/macro/syntax.lux | 6 +- .../library/lux/macro/syntax/declaration.lux | 8 +- stdlib/source/library/lux/macro/syntax/export.lux | 2 +- stdlib/source/library/lux/macro/syntax/input.lux | 6 +- stdlib/source/library/lux/macro/template.lux | 40 +- stdlib/source/library/lux/math/infix.lux | 20 +- .../source/library/lux/math/logic/continuous.lux | 6 +- stdlib/source/library/lux/math/modular.lux | 18 +- stdlib/source/library/lux/math/number.lux | 8 +- stdlib/source/library/lux/math/number/complex.lux | 4 +- stdlib/source/library/lux/math/number/frac.lux | 14 +- stdlib/source/library/lux/math/number/i16.lux | 8 +- stdlib/source/library/lux/math/number/i32.lux | 8 +- stdlib/source/library/lux/math/number/i64.lux | 2 +- stdlib/source/library/lux/math/number/i8.lux | 8 +- stdlib/source/library/lux/math/number/int.lux | 16 +- stdlib/source/library/lux/math/number/nat.lux | 4 +- stdlib/source/library/lux/math/number/ratio.lux | 12 +- stdlib/source/library/lux/math/number/rev.lux | 44 +- stdlib/source/library/lux/math/random.lux | 76 +- stdlib/source/library/lux/meta.lux | 112 +-- stdlib/source/library/lux/meta/location.lux | 6 +- stdlib/source/library/lux/program.lux | 4 - stdlib/source/library/lux/static.lux | 2 +- stdlib/source/library/lux/target/common_lisp.lux | 18 +- stdlib/source/library/lux/target/js.lux | 20 +- .../library/lux/target/jvm/attribute/code.lux | 10 +- stdlib/source/library/lux/target/jvm/bytecode.lux | 40 +- .../library/lux/target/jvm/bytecode/address.lux | 4 +- .../lux/target/jvm/bytecode/environment.lux | 2 +- .../lux/target/jvm/bytecode/environment/limit.lux | 4 +- .../jvm/bytecode/environment/limit/registry.lux | 12 +- .../jvm/bytecode/environment/limit/stack.lux | 4 +- .../lux/target/jvm/bytecode/instruction.lux | 4 +- stdlib/source/library/lux/target/jvm/class.lux | 4 +- stdlib/source/library/lux/target/jvm/constant.lux | 10 +- .../library/lux/target/jvm/constant/pool.lux | 12 +- stdlib/source/library/lux/target/jvm/field.lux | 4 +- stdlib/source/library/lux/target/jvm/index.lux | 2 +- stdlib/source/library/lux/target/jvm/method.lux | 6 +- stdlib/source/library/lux/target/jvm/modifier.lux | 6 +- .../source/library/lux/target/jvm/reflection.lux | 22 +- stdlib/source/library/lux/target/jvm/type.lux | 24 +- .../source/library/lux/target/jvm/type/alias.lux | 4 +- .../library/lux/target/jvm/type/descriptor.lux | 10 +- stdlib/source/library/lux/target/jvm/type/lux.lux | 22 +- .../source/library/lux/target/jvm/type/parser.lux | 14 +- .../library/lux/target/jvm/type/reflection.lux | 6 +- .../library/lux/target/jvm/type/signature.lux | 16 +- stdlib/source/library/lux/target/lua.lux | 26 +- stdlib/source/library/lux/target/php.lux | 22 +- stdlib/source/library/lux/target/python.lux | 26 +- stdlib/source/library/lux/target/r.lux | 20 +- stdlib/source/library/lux/target/ruby.lux | 26 +- stdlib/source/library/lux/target/scheme.lux | 16 +- stdlib/source/library/lux/test.lux | 58 +- stdlib/source/library/lux/time.lux | 28 +- stdlib/source/library/lux/time/date.lux | 46 +- stdlib/source/library/lux/time/day.lux | 6 +- stdlib/source/library/lux/time/duration.lux | 22 +- stdlib/source/library/lux/time/instant.lux | 20 +- stdlib/source/library/lux/time/month.lux | 6 +- stdlib/source/library/lux/time/year.lux | 12 +- .../library/lux/tool/compiler/default/init.lux | 14 +- .../library/lux/tool/compiler/default/platform.lux | 52 +- .../library/lux/tool/compiler/language/lux.lux | 2 +- .../lux/tool/compiler/language/lux/analysis.lux | 62 +- .../lux/tool/compiler/language/lux/directive.lux | 6 +- .../lux/tool/compiler/language/lux/generation.lux | 14 +- .../compiler/language/lux/phase/analysis/case.lux | 14 +- .../language/lux/phase/analysis/case/coverage.lux | 36 +- .../language/lux/phase/analysis/function.lux | 8 +- .../language/lux/phase/analysis/inference.lux | 20 +- .../language/lux/phase/analysis/module.lux | 8 +- .../language/lux/phase/analysis/reference.lux | 6 +- .../compiler/language/lux/phase/analysis/scope.lux | 16 +- .../language/lux/phase/analysis/structure.lux | 26 +- .../tool/compiler/language/lux/phase/directive.lux | 6 +- .../tool/compiler/language/lux/phase/extension.lux | 4 +- .../language/lux/phase/extension/analysis/jvm.lux | 236 +++---- .../language/lux/phase/extension/analysis/lux.lux | 10 +- .../language/lux/phase/extension/bundle.lux | 4 +- .../language/lux/phase/extension/directive/jvm.lux | 26 +- .../extension/generation/common_lisp/common.lux | 8 +- .../lux/phase/extension/generation/js/common.lux | 12 +- .../lux/phase/extension/generation/js/host.lux | 4 +- .../lux/phase/extension/generation/jvm/common.lux | 14 +- .../lux/phase/extension/generation/jvm/host.lux | 76 +- .../lux/phase/extension/generation/lua/common.lux | 20 +- .../lux/phase/extension/generation/lua/host.lux | 6 +- .../lux/phase/extension/generation/php/common.lux | 14 +- .../lux/phase/extension/generation/php/host.lux | 2 +- .../phase/extension/generation/python/common.lux | 24 +- .../lux/phase/extension/generation/python/host.lux | 2 +- .../lux/phase/extension/generation/r/common.lux | 8 +- .../lux/phase/extension/generation/ruby/common.lux | 20 +- .../lux/phase/extension/generation/ruby/host.lux | 4 +- .../phase/extension/generation/scheme/common.lux | 8 +- .../language/lux/phase/generation/common_lisp.lux | 4 +- .../lux/phase/generation/common_lisp/case.lux | 36 +- .../lux/phase/generation/common_lisp/function.lux | 16 +- .../lux/phase/generation/common_lisp/loop.lux | 10 +- .../lux/phase/generation/common_lisp/runtime.lux | 14 +- .../lux/phase/generation/common_lisp/structure.lux | 8 +- .../language/lux/phase/generation/extension.lux | 4 +- .../compiler/language/lux/phase/generation/js.lux | 4 +- .../language/lux/phase/generation/js/case.lux | 22 +- .../language/lux/phase/generation/js/function.lux | 10 +- .../language/lux/phase/generation/js/loop.lux | 10 +- .../language/lux/phase/generation/js/runtime.lux | 12 +- .../language/lux/phase/generation/js/structure.lux | 6 +- .../compiler/language/lux/phase/generation/jvm.lux | 4 +- .../language/lux/phase/generation/jvm/case.lux | 18 +- .../language/lux/phase/generation/jvm/debug.lux | 2 +- .../language/lux/phase/generation/jvm/function.lux | 12 +- .../generation/jvm/function/field/constant.lux | 4 +- .../generation/jvm/function/field/variable.lux | 8 +- .../jvm/function/field/variable/partial.lux | 8 +- .../lux/phase/generation/jvm/function/method.lux | 4 +- .../phase/generation/jvm/function/method/apply.lux | 18 +- .../phase/generation/jvm/function/method/init.lux | 6 +- .../phase/generation/jvm/function/method/reset.lux | 4 +- .../language/lux/phase/generation/jvm/host.lux | 18 +- .../language/lux/phase/generation/jvm/loop.lux | 14 +- .../language/lux/phase/generation/jvm/program.lux | 9 +- .../lux/phase/generation/jvm/reference.lux | 8 +- .../language/lux/phase/generation/jvm/runtime.lux | 18 +- .../lux/phase/generation/jvm/structure.lux | 2 +- .../language/lux/phase/generation/jvm/value.lux | 4 +- .../compiler/language/lux/phase/generation/lua.lux | 4 +- .../language/lux/phase/generation/lua/case.lux | 24 +- .../language/lux/phase/generation/lua/function.lux | 10 +- .../language/lux/phase/generation/lua/loop.lux | 10 +- .../language/lux/phase/generation/lua/runtime.lux | 12 +- .../lux/phase/generation/lua/structure.lux | 8 +- .../compiler/language/lux/phase/generation/php.lux | 10 +- .../language/lux/phase/generation/php/case.lux | 26 +- .../language/lux/phase/generation/php/function.lux | 14 +- .../language/lux/phase/generation/php/loop.lux | 22 +- .../language/lux/phase/generation/php/runtime.lux | 14 +- .../lux/phase/generation/php/structure.lux | 8 +- .../language/lux/phase/generation/python.lux | 4 +- .../language/lux/phase/generation/python/case.lux | 30 +- .../lux/phase/generation/python/function.lux | 6 +- .../language/lux/phase/generation/python/loop.lux | 10 +- .../lux/phase/generation/python/runtime.lux | 14 +- .../lux/phase/generation/python/structure.lux | 8 +- .../compiler/language/lux/phase/generation/r.lux | 4 +- .../language/lux/phase/generation/r/case.lux | 20 +- .../language/lux/phase/generation/r/function.lux | 12 +- .../language/lux/phase/generation/r/loop.lux | 6 +- .../language/lux/phase/generation/r/runtime.lux | 18 +- .../language/lux/phase/generation/r/structure.lux | 8 +- .../language/lux/phase/generation/reference.lux | 8 +- .../language/lux/phase/generation/ruby.lux | 4 +- .../language/lux/phase/generation/ruby/case.lux | 32 +- .../lux/phase/generation/ruby/function.lux | 6 +- .../language/lux/phase/generation/ruby/loop.lux | 8 +- .../language/lux/phase/generation/ruby/runtime.lux | 12 +- .../lux/phase/generation/ruby/structure.lux | 8 +- .../language/lux/phase/generation/scheme.lux | 4 +- .../language/lux/phase/generation/scheme/case.lux | 22 +- .../phase/generation/scheme/extension/common.lux | 4 +- .../lux/phase/generation/scheme/function.lux | 12 +- .../language/lux/phase/generation/scheme/loop.lux | 4 +- .../lux/phase/generation/scheme/runtime.lux | 12 +- .../lux/phase/generation/scheme/structure.lux | 8 +- .../tool/compiler/language/lux/phase/synthesis.lux | 12 +- .../compiler/language/lux/phase/synthesis/case.lux | 64 +- .../language/lux/phase/synthesis/function.lux | 42 +- .../compiler/language/lux/phase/synthesis/loop.lux | 14 +- .../language/lux/phase/synthesis/variable.lux | 38 +- .../lux/tool/compiler/language/lux/program.lux | 4 +- .../lux/tool/compiler/language/lux/syntax.lux | 2 +- .../lux/tool/compiler/language/lux/synthesis.lux | 150 ++-- .../library/lux/tool/compiler/meta/archive.lux | 16 +- .../lux/tool/compiler/meta/archive/artifact.lux | 8 +- .../lux/tool/compiler/meta/archive/descriptor.lux | 2 +- .../lux/tool/compiler/meta/archive/document.lux | 4 +- .../lux/tool/compiler/meta/cache/dependency.lux | 10 +- .../source/library/lux/tool/compiler/meta/io.lux | 2 +- .../library/lux/tool/compiler/meta/io/archive.lux | 110 +-- .../library/lux/tool/compiler/meta/io/context.lux | 44 +- .../library/lux/tool/compiler/meta/packager.lux | 6 +- .../lux/tool/compiler/meta/packager/jvm.lux | 8 +- .../lux/tool/compiler/meta/packager/scheme.lux | 16 +- .../lux/tool/compiler/meta/packager/script.lux | 12 +- stdlib/source/library/lux/tool/compiler/phase.lux | 8 +- .../source/library/lux/tool/compiler/reference.lux | 4 +- .../lux/tool/compiler/reference/variable.lux | 2 +- stdlib/source/library/lux/tool/interpreter.lux | 18 +- stdlib/source/library/lux/type.lux | 84 +-- stdlib/source/library/lux/type/abstract.lux | 28 +- stdlib/source/library/lux/type/check.lux | 60 +- stdlib/source/library/lux/type/dynamic.lux | 2 +- stdlib/source/library/lux/type/implicit.lux | 62 +- stdlib/source/library/lux/type/poly.lux | 12 +- stdlib/source/library/lux/type/quotient.lux | 2 +- stdlib/source/library/lux/type/resource.lux | 20 +- stdlib/source/library/lux/type/unit.lux | 6 +- stdlib/source/library/lux/world/console.lux | 12 +- stdlib/source/library/lux/world/db/jdbc.lux | 8 +- stdlib/source/library/lux/world/db/sql.lux | 16 +- stdlib/source/library/lux/world/file.lux | 150 ++-- stdlib/source/library/lux/world/file/watch.lux | 56 +- .../source/library/lux/world/net/http/client.lux | 22 +- .../source/library/lux/world/net/http/cookie.lux | 4 +- stdlib/source/library/lux/world/net/http/query.lux | 4 +- .../source/library/lux/world/net/http/request.lux | 12 +- .../source/library/lux/world/net/http/response.lux | 14 +- .../library/lux/world/output/video/resolution.lux | 2 +- stdlib/source/library/lux/world/program.lux | 28 +- .../source/library/lux/world/service/journal.lux | 18 +- stdlib/source/library/lux/world/shell.lux | 28 +- stdlib/source/poly/lux/abstract/equivalence.lux | 20 +- stdlib/source/poly/lux/abstract/functor.lux | 14 +- stdlib/source/poly/lux/data/format/json.lux | 78 +-- stdlib/source/program/aedifex.lux | 24 +- stdlib/source/program/aedifex/artifact.lux | 18 +- .../source/program/aedifex/artifact/time/date.lux | 4 +- .../source/program/aedifex/artifact/versioning.lux | 4 +- stdlib/source/program/aedifex/cli.lux | 2 +- stdlib/source/program/aedifex/command/auto.lux | 14 +- stdlib/source/program/aedifex/command/build.lux | 48 +- stdlib/source/program/aedifex/command/clean.lux | 18 +- stdlib/source/program/aedifex/command/deploy.lux | 10 +- stdlib/source/program/aedifex/command/deps.lux | 12 +- stdlib/source/program/aedifex/command/install.lux | 6 +- stdlib/source/program/aedifex/command/pom.lux | 12 +- stdlib/source/program/aedifex/command/test.lux | 10 +- stdlib/source/program/aedifex/dependency.lux | 12 +- .../program/aedifex/dependency/deployment.lux | 16 +- .../program/aedifex/dependency/resolution.lux | 40 +- stdlib/source/program/aedifex/format.lux | 22 +- stdlib/source/program/aedifex/hash.lux | 8 +- stdlib/source/program/aedifex/input.lux | 6 +- .../source/program/aedifex/metadata/artifact.lux | 16 +- .../source/program/aedifex/metadata/snapshot.lux | 16 +- stdlib/source/program/aedifex/package.lux | 8 +- stdlib/source/program/aedifex/parser.lux | 22 +- stdlib/source/program/aedifex/pom.lux | 40 +- stdlib/source/program/aedifex/profile.lux | 26 +- stdlib/source/program/aedifex/project.lux | 8 +- stdlib/source/program/aedifex/repository.lux | 12 +- .../source/program/aedifex/repository/identity.lux | 2 +- stdlib/source/program/aedifex/repository/local.lux | 16 +- .../source/program/aedifex/repository/remote.lux | 6 +- stdlib/source/program/aedifex/runtime.lux | 4 +- stdlib/source/program/compositor.lux | 14 +- stdlib/source/program/compositor/export.lux | 12 +- stdlib/source/program/compositor/import.lux | 14 +- stdlib/source/specification/aedifex/repository.lux | 10 +- stdlib/source/specification/compositor/common.lux | 4 +- .../specification/compositor/generation/case.lux | 18 +- .../specification/compositor/generation/common.lux | 24 +- .../compositor/generation/function.lux | 14 +- .../compositor/generation/primitive.lux | 8 +- .../compositor/generation/reference.lux | 2 +- .../compositor/generation/structure.lux | 14 +- stdlib/source/specification/lux/abstract/apply.lux | 34 +- .../source/specification/lux/abstract/comonad.lux | 6 +- stdlib/source/specification/lux/abstract/enum.lux | 18 +- .../source/specification/lux/abstract/functor.lux | 10 +- stdlib/source/specification/lux/abstract/hash.lux | 6 +- stdlib/source/specification/lux/abstract/monad.lux | 6 +- .../source/specification/lux/abstract/monoid.lux | 14 +- stdlib/source/specification/lux/world/console.lux | 10 +- stdlib/source/specification/lux/world/file.lux | 118 ++-- stdlib/source/specification/lux/world/program.lux | 4 +- stdlib/source/specification/lux/world/shell.lux | 26 +- stdlib/source/test/aedifex/artifact.lux | 4 +- stdlib/source/test/aedifex/artifact/extension.lux | 6 +- stdlib/source/test/aedifex/artifact/snapshot.lux | 8 +- .../test/aedifex/artifact/snapshot/build.lux | 4 +- .../test/aedifex/artifact/snapshot/stamp.lux | 4 +- .../source/test/aedifex/artifact/snapshot/time.lux | 4 +- .../test/aedifex/artifact/snapshot/version.lux | 4 +- .../aedifex/artifact/snapshot/version/value.lux | 10 +- stdlib/source/test/aedifex/artifact/time.lux | 10 +- stdlib/source/test/aedifex/artifact/time/date.lux | 10 +- stdlib/source/test/aedifex/artifact/time/time.lux | 4 +- stdlib/source/test/aedifex/artifact/type.lux | 12 +- stdlib/source/test/aedifex/artifact/versioning.lux | 6 +- stdlib/source/test/aedifex/cache.lux | 20 +- stdlib/source/test/aedifex/cli.lux | 24 +- stdlib/source/test/aedifex/command/auto.lux | 22 +- stdlib/source/test/aedifex/command/build.lux | 38 +- stdlib/source/test/aedifex/command/clean.lux | 24 +- stdlib/source/test/aedifex/command/deploy.lux | 40 +- stdlib/source/test/aedifex/command/deps.lux | 16 +- stdlib/source/test/aedifex/command/install.lux | 24 +- stdlib/source/test/aedifex/command/pom.lux | 24 +- stdlib/source/test/aedifex/command/test.lux | 42 +- stdlib/source/test/aedifex/command/version.lux | 6 +- .../source/test/aedifex/dependency/deployment.lux | 30 +- .../source/test/aedifex/dependency/resolution.lux | 68 +- stdlib/source/test/aedifex/dependency/status.lux | 4 +- stdlib/source/test/aedifex/hash.lux | 12 +- stdlib/source/test/aedifex/input.lux | 10 +- stdlib/source/test/aedifex/metadata.lux | 16 +- stdlib/source/test/aedifex/metadata/artifact.lux | 24 +- stdlib/source/test/aedifex/metadata/snapshot.lux | 28 +- stdlib/source/test/aedifex/package.lux | 24 +- stdlib/source/test/aedifex/parser.lux | 12 +- stdlib/source/test/aedifex/pom.lux | 8 +- stdlib/source/test/aedifex/profile.lux | 30 +- stdlib/source/test/aedifex/project.lux | 32 +- stdlib/source/test/aedifex/repository/local.lux | 14 +- stdlib/source/test/aedifex/repository/remote.lux | 32 +- stdlib/source/test/aedifex/runtime.lux | 24 +- stdlib/source/test/lux.lux | 146 ++-- stdlib/source/test/lux/abstract/apply.lux | 2 +- stdlib/source/test/lux/abstract/codec.lux | 6 +- stdlib/source/test/lux/abstract/comonad/cofree.lux | 8 +- stdlib/source/test/lux/abstract/enum.lux | 16 +- stdlib/source/test/lux/abstract/equivalence.lux | 22 +- stdlib/source/test/lux/abstract/functor.lux | 8 +- stdlib/source/test/lux/abstract/hash.lux | 16 +- stdlib/source/test/lux/abstract/interval.lux | 16 +- stdlib/source/test/lux/abstract/mix.lux | 2 +- stdlib/source/test/lux/abstract/monad.lux | 26 +- stdlib/source/test/lux/abstract/monad/free.lux | 6 +- stdlib/source/test/lux/abstract/monoid.lux | 6 +- stdlib/source/test/lux/abstract/order.lux | 20 +- stdlib/source/test/lux/abstract/predicate.lux | 22 +- stdlib/source/test/lux/control/concatenative.lux | 4 +- .../source/test/lux/control/concurrency/actor.lux | 14 +- .../source/test/lux/control/concurrency/async.lux | 2 +- stdlib/source/test/lux/control/concurrency/frp.lux | 42 +- .../test/lux/control/concurrency/semaphore.lux | 22 +- stdlib/source/test/lux/control/concurrency/stm.lux | 14 +- .../source/test/lux/control/concurrency/thread.lux | 2 +- stdlib/source/test/lux/control/continuation.lux | 14 +- stdlib/source/test/lux/control/exception.lux | 10 +- stdlib/source/test/lux/control/function.lux | 8 +- stdlib/source/test/lux/control/function/memo.lux | 16 +- stdlib/source/test/lux/control/function/mixin.lux | 8 +- stdlib/source/test/lux/control/function/mutual.lux | 14 +- stdlib/source/test/lux/control/lazy.lux | 10 +- stdlib/source/test/lux/control/maybe.lux | 22 +- stdlib/source/test/lux/control/parser.lux | 68 +- stdlib/source/test/lux/control/parser/analysis.lux | 18 +- stdlib/source/test/lux/control/parser/binary.lux | 56 +- stdlib/source/test/lux/control/parser/cli.lux | 22 +- stdlib/source/test/lux/control/parser/code.lux | 24 +- .../source/test/lux/control/parser/environment.lux | 10 +- stdlib/source/test/lux/control/parser/json.lux | 42 +- .../source/test/lux/control/parser/synthesis.lux | 46 +- stdlib/source/test/lux/control/parser/text.lux | 88 +-- stdlib/source/test/lux/control/parser/type.lux | 46 +- stdlib/source/test/lux/control/parser/xml.lux | 38 +- stdlib/source/test/lux/control/pipe.lux | 10 +- stdlib/source/test/lux/control/reader.lux | 4 +- stdlib/source/test/lux/control/region.lux | 2 +- stdlib/source/test/lux/control/remember.lux | 6 +- stdlib/source/test/lux/control/security/policy.lux | 24 +- stdlib/source/test/lux/control/state.lux | 6 +- stdlib/source/test/lux/control/thread.lux | 6 +- stdlib/source/test/lux/control/try.lux | 8 +- stdlib/source/test/lux/control/writer.lux | 10 +- stdlib/source/test/lux/data/binary.lux | 20 +- stdlib/source/test/lux/data/bit.lux | 12 +- stdlib/source/test/lux/data/collection/array.lux | 22 +- stdlib/source/test/lux/data/collection/bits.lux | 18 +- .../source/test/lux/data/collection/dictionary.lux | 16 +- .../lux/data/collection/dictionary/ordered.lux | 30 +- .../test/lux/data/collection/dictionary/plist.lux | 16 +- stdlib/source/test/lux/data/collection/list.lux | 152 ++-- stdlib/source/test/lux/data/collection/queue.lux | 20 +- .../test/lux/data/collection/queue/priority.lux | 12 +- stdlib/source/test/lux/data/collection/row.lux | 40 +- .../source/test/lux/data/collection/sequence.lux | 42 +- stdlib/source/test/lux/data/collection/set.lux | 20 +- .../source/test/lux/data/collection/set/multi.lux | 32 +- .../test/lux/data/collection/set/ordered.lux | 36 +- stdlib/source/test/lux/data/collection/stack.lux | 8 +- stdlib/source/test/lux/data/collection/tree.lux | 26 +- .../test/lux/data/collection/tree/finger.lux | 86 +-- .../test/lux/data/collection/tree/zipper.lux | 12 +- stdlib/source/test/lux/data/color.lux | 36 +- stdlib/source/test/lux/data/color/named.lux | 4 +- stdlib/source/test/lux/data/format/binary.lux | 6 +- stdlib/source/test/lux/data/format/json.lux | 48 +- stdlib/source/test/lux/data/format/tar.lux | 46 +- stdlib/source/test/lux/data/format/xml.lux | 12 +- stdlib/source/test/lux/data/name.lux | 26 +- stdlib/source/test/lux/data/product.lux | 6 +- stdlib/source/test/lux/data/sum.lux | 30 +- stdlib/source/test/lux/data/text.lux | 82 +-- stdlib/source/test/lux/data/text/buffer.lux | 6 +- stdlib/source/test/lux/data/text/encoding.lux | 8 +- stdlib/source/test/lux/data/text/escape.lux | 26 +- stdlib/source/test/lux/data/text/format.lux | 32 +- stdlib/source/test/lux/data/text/regex.lux | 12 +- stdlib/source/test/lux/data/text/unicode/block.lux | 10 +- stdlib/source/test/lux/data/text/unicode/set.lux | 8 +- stdlib/source/test/lux/debug.lux | 28 +- stdlib/source/test/lux/documentation.lux | 10 +- stdlib/source/test/lux/extension.lux | 20 +- stdlib/source/test/lux/ffi.js.lux | 26 +- stdlib/source/test/lux/ffi.jvm.lux | 146 ++-- stdlib/source/test/lux/ffi.old.lux | 20 +- stdlib/source/test/lux/ffi.php.lux | 2 +- stdlib/source/test/lux/ffi.scm.lux | 2 +- stdlib/source/test/lux/locale.lux | 24 +- stdlib/source/test/lux/locale/language.lux | 18 +- stdlib/source/test/lux/locale/territory.lux | 22 +- stdlib/source/test/lux/macro.lux | 22 +- stdlib/source/test/lux/macro/code.lux | 62 +- stdlib/source/test/lux/macro/syntax/check.lux | 6 +- .../source/test/lux/macro/syntax/declaration.lux | 4 +- stdlib/source/test/lux/macro/syntax/definition.lux | 6 +- stdlib/source/test/lux/macro/syntax/export.lux | 10 +- stdlib/source/test/lux/macro/syntax/input.lux | 2 +- .../source/test/lux/macro/syntax/type/variable.lux | 4 +- stdlib/source/test/lux/macro/template.lux | 2 +- stdlib/source/test/lux/math.lux | 24 +- stdlib/source/test/lux/math/infix.lux | 4 +- stdlib/source/test/lux/math/logic/fuzzy.lux | 28 +- stdlib/source/test/lux/math/modular.lux | 46 +- stdlib/source/test/lux/math/modulus.lux | 2 +- stdlib/source/test/lux/math/number.lux | 6 +- stdlib/source/test/lux/math/number/complex.lux | 10 +- stdlib/source/test/lux/math/number/frac.lux | 26 +- stdlib/source/test/lux/math/number/i16.lux | 6 +- stdlib/source/test/lux/math/number/i32.lux | 6 +- stdlib/source/test/lux/math/number/i64.lux | 110 +-- stdlib/source/test/lux/math/number/i8.lux | 6 +- stdlib/source/test/lux/math/number/int.lux | 24 +- stdlib/source/test/lux/math/number/nat.lux | 14 +- stdlib/source/test/lux/math/number/ratio.lux | 22 +- stdlib/source/test/lux/math/number/rev.lux | 20 +- stdlib/source/test/lux/meta.lux | 120 ++-- stdlib/source/test/lux/meta/location.lux | 4 +- stdlib/source/test/lux/program.lux | 6 +- stdlib/source/test/lux/static.lux | 6 +- stdlib/source/test/lux/target/jvm.lux | 84 +-- stdlib/source/test/lux/test.lux | 14 +- stdlib/source/test/lux/time.lux | 26 +- stdlib/source/test/lux/time/date.lux | 16 +- stdlib/source/test/lux/time/day.lux | 22 +- stdlib/source/test/lux/time/duration.lux | 36 +- stdlib/source/test/lux/time/instant.lux | 58 +- stdlib/source/test/lux/time/month.lux | 18 +- stdlib/source/test/lux/time/year.lux | 6 +- .../compiler/language/lux/phase/analysis/case.lux | 60 +- .../language/lux/phase/analysis/function.lux | 16 +- .../language/lux/phase/analysis/primitive.lux | 6 +- .../language/lux/phase/analysis/reference.lux | 14 +- .../language/lux/phase/analysis/structure.lux | 58 +- .../language/lux/phase/extension/analysis/lux.lux | 34 +- .../compiler/language/lux/phase/synthesis/case.lux | 46 +- .../language/lux/phase/synthesis/function.lux | 54 +- .../compiler/language/lux/phase/synthesis/loop.lux | 38 +- .../language/lux/phase/synthesis/primitive.lux | 10 +- .../language/lux/phase/synthesis/structure.lux | 10 +- .../language/lux/phase/synthesis/variable.lux | 36 +- .../test/lux/tool/compiler/language/lux/syntax.lux | 42 +- stdlib/source/test/lux/type.lux | 84 +-- stdlib/source/test/lux/type/abstract.lux | 10 +- stdlib/source/test/lux/type/check.lux | 62 +- stdlib/source/test/lux/type/dynamic.lux | 4 +- stdlib/source/test/lux/type/implicit.lux | 30 +- stdlib/source/test/lux/type/poly/equivalence.lux | 4 +- stdlib/source/test/lux/type/poly/json.lux | 4 +- stdlib/source/test/lux/type/quotient.lux | 8 +- stdlib/source/test/lux/type/refinement.lux | 32 +- stdlib/source/test/lux/type/resource.lux | 20 +- stdlib/source/test/lux/type/unit.lux | 76 +- stdlib/source/test/lux/world/console.lux | 6 +- stdlib/source/test/lux/world/file/watch.lux | 52 +- stdlib/source/test/lux/world/input/keyboard.lux | 6 +- stdlib/source/test/lux/world/net/http/client.lux | 10 +- .../test/lux/world/output/video/resolution.lux | 2 +- stdlib/source/test/lux/world/program.lux | 10 +- stdlib/source/test/lux/world/shell.lux | 22 +- 593 files changed, 6520 insertions(+), 6525 deletions(-) (limited to 'stdlib') diff --git a/stdlib/source/documentation/lux.lux b/stdlib/source/documentation/lux.lux index cf7137856..c0edb3240 100644 --- a/stdlib/source/documentation/lux.lux +++ b/stdlib/source/documentation/lux.lux @@ -212,15 +212,15 @@ (documentation: /._$ "Left-association for the application of binary functions over variadic arguments." - [(_$ text\composite "Hello, " name ". How are you?") + [(_$ text#composite "Hello, " name ". How are you?") "=>" - (text\composite (text\composite "Hello, " name) ". How are you?")]) + (text#composite (text#composite "Hello, " name) ". How are you?")]) (documentation: /.$_ "Right-association for the application of binary functions over variadic arguments." - [($_ text\composite "Hello, " name ". How are you?") + [($_ text#composite "Hello, " name ". How are you?") "=>" - (text\composite "Hello, " (text\composite name ". How are you?"))]) + (text#composite "Hello, " (text#composite name ". How are you?"))]) (documentation: /.if "Picks which expression to evaluate based on a bit test value." @@ -262,25 +262,25 @@ (documentation: /.|> "Piping macro." [(|> elems - (list\each int\encoded) + (list#each int#encoded) (interposed " ") - (mix text\composite "")) + (mix text#composite "")) "=>" - (mix text\composite "" + (mix text#composite "" (interposed " " - (list\each int\encoded + (list#each int#encoded elems)))]) (documentation: /.<| "Reverse piping macro." - [(<| (mix text\composite "") + [(<| (mix text#composite "") (interposed " ") - (list\each int\encoded) + (list#each int#encoded) elems) "=>" - (mix text\composite "" + (mix text#composite "" (interposed " " - (list\each int\encoded + (list#each int#encoded elems)))]) (documentation: /.template @@ -567,30 +567,30 @@ "Opens a implementation and generates a definition for each of its members (including nested members)." [(open: "i:[0]" order) "=>" - (def: i:= (\ order =)) - (def: i:< (\ order <))]) + (def: i:= (# order =)) + (def: i:< (# order <))]) (documentation: /.|>> "Similar to the piping macro, but rather than taking an initial object to work on, creates a function for taking it." - [(|>> (list\each int\encoded) + [(|>> (list#each int#encoded) (interposed " ") - (mix text\composite "")) + (mix text#composite "")) "=>" (function (_ ) - (mix text\composite "" + (mix text#composite "" (interposed " " - (list\each int\encoded ))))]) + (list#each int#encoded ))))]) (documentation: /.<<| "Similar to the reverse piping macro, but rather than taking an initial object to work on, creates a function for taking it." - [(<<| (mix text\composite "") + [(<<| (mix text#composite "") (interposed " ") - (list\each int\encoded)) + (list#each int#encoded)) "=>" (function (_ ) - (mix text\composite "" + (mix text#composite "" (interposed " " - (list\each int\encoded + (list#each int#encoded ))))]) (documentation: /.module: @@ -601,17 +601,17 @@ ["M" monad "*"]] [data maybe - ["[0]" name ("[1]\[0]" codec)]] + ["[0]" name ("[1]#[0]" codec)]] [macro code]] [// [type ("[0]" equivalence)]])]) -(documentation: /.\ +(documentation: /.# "Allows accessing the value of a implementation's member." - [(\ codec encoded)] + [(# codec encoded)] ["Also allows using that value as a function." - (\ codec encoded +123)]) + (# codec encoded +123)]) (documentation: /.with@ "Sets the value of a record at a given tag." @@ -641,7 +641,7 @@ (-> (List Type) Type Type) (case type {.#Primitive name params} - {.#Primitive name (list\each (reduced env) params)} + {.#Primitive name (list#each (reduced env) params)} (^template [] [{ left right} @@ -709,7 +709,7 @@ [ (template [ ] [(cover [] (compare - (\ codec encoded )))] + (# codec encoded )))] [bit #1 "#1"] [int +123 "+123"] @@ -751,7 +751,7 @@ \n "Useful in situations where the result of a branch depends on further refinements on the values being matched.") [(case (split (size static) uri) (^multi {#Some [chunk uri']} - [(text\= static chunk) #1]) + [(text#= static chunk) #1]) (match_uri endpoint? parts' uri') _ @@ -760,7 +760,7 @@ "The example above can be rewritten as..." (case (split (size static) uri) (^multi {#Some [chunk uri']} - (text\= static chunk)) + (text#= static chunk)) (match_uri endpoint? parts' uri') _ @@ -778,7 +778,7 @@ ["In the example below, 0 corresponds to the 'a' variable." (def: .public (of_list list) (All (_ a) (-> (List a) (Row a))) - (list\mix add + (list#mix add (: (Row (:parameter 0)) empty) list))]) @@ -796,9 +796,9 @@ (documentation: /.^@ "Allows you to simultaneously bind and de-structure a value." [(def: (hash (^@ set [member_hash _])) - (list\mix (function (_ elem acc) + (list#mix (function (_ elem acc) (+ acc - (\ member_hash hash elem))) + (# member_hash hash elem))) 0 (set.list set)))]) @@ -993,7 +993,7 @@ ..|>> ..<<| ..module: - ..\ + ..# ..with@ ..revised@ ..^template diff --git a/stdlib/source/documentation/lux/control/concatenative.lux b/stdlib/source/documentation/lux/control/concatenative.lux index 745cca04f..21b77e6a3 100644 --- a/stdlib/source/documentation/lux/control/concatenative.lux +++ b/stdlib/source/documentation/lux/control/concatenative.lux @@ -3,10 +3,8 @@ [lux {"-" [if loop]} ["$" documentation {"+" [documentation:]}] [data - [text {"+" [\n]} - ["%" format {"+" [format]}]] - [collection - ["[0]" list ("[1]\[0]" monad)]]] + [text + ["%" format {"+" [format]}]]] [macro ["[0]" template]] [math diff --git a/stdlib/source/documentation/lux/control/concurrency/actor.lux b/stdlib/source/documentation/lux/control/concurrency/actor.lux index a030eabaf..eb0f0656a 100644 --- a/stdlib/source/documentation/lux/control/concurrency/actor.lux +++ b/stdlib/source/documentation/lux/control/concurrency/actor.lux @@ -4,9 +4,7 @@ ["$" documentation {"+" [documentation:]}] [data [text {"+" [\n]} - ["%" format {"+" [format]}]] - [collection - ["[0]" list ("[1]\[0]" monad)]]] + ["%" format {"+" [format]}]]] [macro ["[0]" template]]]] [\\library diff --git a/stdlib/source/documentation/lux/control/pipe.lux b/stdlib/source/documentation/lux/control/pipe.lux index 9f67f5c1b..d55da0a4e 100644 --- a/stdlib/source/documentation/lux/control/pipe.lux +++ b/stdlib/source/documentation/lux/control/pipe.lux @@ -80,7 +80,7 @@ [(|> +5 (tuple> [(i.* +10)] [-- (i./ +2)] - [i\encoded])) + [i#encoded])) "=>" [+50 +2 "+5"]]) diff --git a/stdlib/source/documentation/lux/data/color/named.lux b/stdlib/source/documentation/lux/data/color/named.lux index dbd470cad..fe66584e0 100644 --- a/stdlib/source/documentation/lux/data/color/named.lux +++ b/stdlib/source/documentation/lux/data/color/named.lux @@ -6,7 +6,7 @@ ["<>" parser ["<[0]>" code]]] [data - ["[0]" text {"+" [\n]} + ["[0]" text ["%" format {"+" [format]}]]] [macro [syntax {"+" [syntax:]}] @@ -14,7 +14,7 @@ ["[0]" template]] [math [number - ["[0]" nat ("hex\[0]" hex)]]]]] + ["[0]" nat ("hex#[0]" hex)]]]]] [\\library ["[0]" / ["/[1]" //]]]) @@ -23,9 +23,9 @@ [(documentation: (let [[red green blue] (//.rgb ) [_ name] (name_of )] - (format "R:" (hex\encoded red) - " G:" (hex\encoded green) - " B:" (hex\encoded blue) + (format "R:" (hex#encoded red) + " G:" (hex#encoded green) + " B:" (hex#encoded blue) " | " (text.replaced "_" " " name))))] [/.alice_blue] diff --git a/stdlib/source/documentation/lux/data/product.lux b/stdlib/source/documentation/lux/data/product.lux index 7c08ef025..05925ab69 100644 --- a/stdlib/source/documentation/lux/data/product.lux +++ b/stdlib/source/documentation/lux/data/product.lux @@ -3,7 +3,7 @@ [lux {"-" [nat int rev list type or and]} ["$" documentation {"+" [documentation:]}] [data - [text {"+" [\n]} + [text ["%" format {"+" [format]}]]] [macro ["[0]" template]]]] diff --git a/stdlib/source/documentation/lux/data/text/unicode.lux b/stdlib/source/documentation/lux/data/text/unicode.lux index 8acab1227..e4a5cbcff 100644 --- a/stdlib/source/documentation/lux/data/text/unicode.lux +++ b/stdlib/source/documentation/lux/data/text/unicode.lux @@ -3,7 +3,7 @@ [lux "*" ["$" documentation {"+" [documentation:]}] [data - [text {"+" [\n]} + [text ["%" format {"+" [format]}]] [collection ["[0]" list]]]]] diff --git a/stdlib/source/documentation/lux/data/text/unicode/block.lux b/stdlib/source/documentation/lux/data/text/unicode/block.lux index 306bf6567..02612a399 100644 --- a/stdlib/source/documentation/lux/data/text/unicode/block.lux +++ b/stdlib/source/documentation/lux/data/text/unicode/block.lux @@ -3,13 +3,13 @@ [lux "*" ["$" documentation {"+" [documentation:]}] [data - ["[0]" text {"+" [\n]} + ["[0]" text ["%" format {"+" [format]}]]] [macro ["[0]" template]] [math [number - ["[0]" nat ("hex\[0]" hex)]]]]] + ["[0]" nat ("hex#[0]" hex)]]]]] [\\library ["[0]" /]]) @@ -27,8 +27,8 @@ (template [] [(documentation: (let [[_ name] (name_of )] - (format (hex\encoded (/.start )) - "-" (hex\encoded (/.end )) + (format (hex#encoded (/.start )) + "-" (hex#encoded (/.end )) " | " (text.replaced "_" " " name))))] [/.basic_latin] diff --git a/stdlib/source/documentation/lux/data/text/unicode/set.lux b/stdlib/source/documentation/lux/data/text/unicode/set.lux index dedb45c40..eb3a12f1b 100644 --- a/stdlib/source/documentation/lux/data/text/unicode/set.lux +++ b/stdlib/source/documentation/lux/data/text/unicode/set.lux @@ -3,7 +3,7 @@ [lux "*" ["$" documentation {"+" [documentation:]}] [data - [text {"+" [\n]} + [text ["%" format {"+" [format]}]]] [macro ["[0]" template]]]] diff --git a/stdlib/source/documentation/lux/extension.lux b/stdlib/source/documentation/lux/extension.lux index 0172abaf7..070a3ad98 100644 --- a/stdlib/source/documentation/lux/extension.lux +++ b/stdlib/source/documentation/lux/extension.lux @@ -7,7 +7,7 @@ ["<>" parser ["<[0]>" code]]] [data - ["[0]" text {"+" [\n]} + [text ["%" format {"+" [format]}]] [collection ["[0]" row]]] @@ -39,7 +39,7 @@ "" [(generation: ("my generation" self phase archive [pass_through .any]) (for [@.jvm - (\ phase.monad each (|>> {jvm.#Embedded} + (# phase.monad each (|>> {jvm.#Embedded} row.row) (phase archive pass_through))] (phase archive pass_through)))]) diff --git a/stdlib/source/documentation/lux/locale/language.lux b/stdlib/source/documentation/lux/locale/language.lux index 27b562d64..fca2ce852 100644 --- a/stdlib/source/documentation/lux/locale/language.lux +++ b/stdlib/source/documentation/lux/locale/language.lux @@ -6,7 +6,7 @@ [text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" monoid)]]]]] + ["[0]" list]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/locale/territory.lux b/stdlib/source/documentation/lux/locale/territory.lux index 100f1b18f..094a8b390 100644 --- a/stdlib/source/documentation/lux/locale/territory.lux +++ b/stdlib/source/documentation/lux/locale/territory.lux @@ -6,7 +6,7 @@ [text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" monoid)]]]]] + ["[0]" list]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/macro/syntax.lux b/stdlib/source/documentation/lux/macro/syntax.lux index 8efdf8a93..9d6cf8db2 100644 --- a/stdlib/source/documentation/lux/macro/syntax.lux +++ b/stdlib/source/documentation/lux/macro/syntax.lux @@ -29,11 +29,11 @@ interfaces (tuple (some (super_class_decl^ imports class_vars))) constructor_args (constructor_args^ imports class_vars) methods (some (overriden_method_def^ imports))]) - (let [def_code ($_ text\composite "anon-class:" + (let [def_code ($_ text#composite "anon-class:" (spaced (list (super_class_decl$ (maybe.else object_super_class super)) - (with_brackets (spaced (list\each super_class_decl$ interfaces))) - (with_brackets (spaced (list\each constructor_arg$ constructor_args))) - (with_brackets (spaced (list\each (method_def$ id) methods))))))] + (with_brackets (spaced (list#each super_class_decl$ interfaces))) + (with_brackets (spaced (list#each constructor_arg$ constructor_args))) + (with_brackets (spaced (list#each (method_def$ id) methods))))))] (in (list (` ((~ (code.text def_code))))))))]) (.def: .public documentation diff --git a/stdlib/source/documentation/lux/math/logic.lux b/stdlib/source/documentation/lux/math/logic.lux index 3bb217d18..ca7e1786e 100644 --- a/stdlib/source/documentation/lux/math/logic.lux +++ b/stdlib/source/documentation/lux/math/logic.lux @@ -6,13 +6,13 @@ [text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" monoid)]]]]] + ["[0]" list ("[1]#[0]" monoid)]]]]] ["[0]" / "_" ["[1][0]" continuous] ["[1][0]" fuzzy]]) (.def: .public documentation (.List $.Module) - ($_ list\composite + ($_ list#composite /continuous.documentation /fuzzy.documentation)) diff --git a/stdlib/source/documentation/lux/type/implicit.lux b/stdlib/source/documentation/lux/type/implicit.lux index 934557429..fe9cfe21a 100644 --- a/stdlib/source/documentation/lux/type/implicit.lux +++ b/stdlib/source/documentation/lux/type/implicit.lux @@ -13,7 +13,7 @@ [\\library ["[0]" /]]) -(documentation: /.\\ +(documentation: /.## (format "Automatic implementation selection (for type-class style polymorphism)." \n "This feature layers type-class style polymorphism on top of Lux's signatures and implementations." \n "When calling a polymorphic function, or using a polymorphic constant," @@ -26,35 +26,35 @@ \n \n "Caveat emptor: You need to make sure to import the module of any implementation you want to use." \n "Otherwise, this macro will not find it.") ["Nat equivalence" - (\ number.equivalence = x y) - (\\ = x y)] + (# number.equivalence = x y) + (## = x y)] ["Can optionally add the prefix of the module where the signature was defined." - (\\ equivalence.= x y)] + (## equivalence.= x y)] ["(List Nat) equivalence" - (\\ = + (## = (list.indices 10) (list.indices 10))] ["(Functor List) each" - (\\ each ++ (list.indices 10))]) + (## each ++ (list.indices 10))]) (documentation: /.with "Establish lexical bindings for implementations that will be prioritized over non-lexically-bound implementations." [(with [n.addition] - (n.= (\ n.addition composite left right) - (\\ composite left right)))]) + (n.= (# n.addition composite left right) + (## composite left right)))]) (documentation: /.implicit: "Establish local definitions for implementations that will be prioritized over foreign definitions." [(implicit: [n.multiplication]) - (n.= (\ n.multiplication composite left right) - (\\ composite left right))]) + (n.= (# n.multiplication composite left right) + (## composite left right))]) (.def: .public documentation (.List $.Module) ($.module /._ "" - [..\\ + [..## ..with ..implicit:] [])) diff --git a/stdlib/source/documentation/lux/world.lux b/stdlib/source/documentation/lux/world.lux index bb7af0722..af4c8446c 100644 --- a/stdlib/source/documentation/lux/world.lux +++ b/stdlib/source/documentation/lux/world.lux @@ -8,7 +8,7 @@ ["[0]" io]] [data [collection - ["[0]" list ("[1]\[0]" monoid)]]]]] + ["[0]" list ("[1]#[0]" monoid)]]]]] ["[0]" / "_" ["[1][0]" console] ["[1][0]" file] @@ -23,7 +23,7 @@ (.def: .public documentation (.List $.Module) - ($_ list\composite + ($_ list#composite /console.documentation /file.documentation /input/keyboard.documentation diff --git a/stdlib/source/library/lux.lux b/stdlib/source/library/lux.lux index 7339ac34d..8f8032699 100644 --- a/stdlib/source/library/lux.lux +++ b/stdlib/source/library/lux.lux @@ -823,7 +823,7 @@ (failure "Wrong syntax for $'")} tokens)) -(def:'' .private (list\each f xs) +(def:'' .private (list#each f xs) {#UnivQ {#End} {#UnivQ {#End} {#Function {#Function {#Parameter 3} {#Parameter 1}} @@ -833,7 +833,7 @@ {#End} {#Item x xs'} - {#Item (f x) (list\each f xs')}} + {#Item (f x) (list#each f xs')}} xs)) (def:'' .private Replacement_Environment @@ -849,7 +849,7 @@ {#End}} [xs ys])) -(def:'' .private (text\= reference sample) +(def:'' .private (text#= reference sample) {#Function Text {#Function Text Bit}} ("lux text =" reference sample)) @@ -864,7 +864,7 @@ #0 (replacement for environment')} - (text\= k for))} + (text#= k for))} environment)) (def:'' .private (with_replacements reps syntax) @@ -878,13 +878,13 @@ (..replacement name reps)) [meta {#Form parts}] - [meta {#Form (list\each (with_replacements reps) parts)}] + [meta {#Form (list#each (with_replacements reps) parts)}] [meta {#Variant members}] - [meta {#Variant (list\each (with_replacements reps) members)}] + [meta {#Variant (list#each (with_replacements reps) members)}] [meta {#Tuple members}] - [meta {#Tuple (list\each (with_replacements reps) members)}] + [meta {#Tuple (list#each (with_replacements reps) members)}] _ syntax} @@ -897,7 +897,7 @@ ("lux type as" Int param) ("lux type as" Int subject)))) -(def:'' .private (list\mix f init xs) +(def:'' .private (list#mix f init xs) ... (All (_ a b) (-> (-> b a a) a (List b) a)) {#UnivQ {#End} {#UnivQ {#End} {#Function {#Function {#Parameter 1} {#Function {#Parameter 3} @@ -909,13 +909,13 @@ init {#Item x xs'} - (list\mix f (f x init) xs')} + (list#mix f (f x init) xs')} xs)) -(def:'' .private (list\size list) +(def:'' .private (list#size list) {#UnivQ {#End} {#Function ($' List {#Parameter 1}) Nat}} - (list\mix (function'' [_ acc] ("lux i64 +" 1 acc)) 0 list)) + (list#mix (function'' [_ acc] ("lux i64 +" 1 acc)) 0 list)) (def:'' .private (let$ binding value body) {#Function Code {#Function Code {#Function Code Code}}} @@ -985,7 +985,7 @@ ... Recur {#Primitive name parameters} - {#Primitive name (list\each (__adjusted_quantified_type__ permission depth) + {#Primitive name (list#each (__adjusted_quantified_type__ permission depth) parameters)} {#Sum left right} @@ -1050,12 +1050,12 @@ #scopes scopes #type_context _ #host _ #seed _ #expected _ #location _ #extensions _ #scope_type_vars _ #eval _] - (list\mix (function'' [scope verdict] + (list#mix (function'' [scope verdict] ({#1 #1 _ ({[#name _ #inner _ #captured _ #locals [#counter _ #mappings locals]] - (list\mix (function'' [local verdict] + (list#mix (function'' [local verdict] ({[local _] ({#1 #1 _ ("lux text =" ..quantification_level local)} verdict)} @@ -1084,13 +1084,13 @@ (let$ self_name (quantified_type_parameter 0) ({[_ raw] raw} - (list\mix (function'' [parameter offset,body'] + (list#mix (function'' [parameter offset,body'] ({[offset body'] [("lux i64 +" 2 offset) (let$ parameter (quantified_type_parameter ("lux i64 +" offset 1)) (UnivQ$ body'))]} offset,body')) - [0 (with_quantification (list\size args) + [0 (with_quantification (list#size args) body)] args))))} args)) @@ -1116,13 +1116,13 @@ (let$ self_name (quantified_type_parameter 0) ({[_ raw] raw} - (list\mix (function'' [parameter offset,body'] + (list#mix (function'' [parameter offset,body'] ({[offset body'] [("lux i64 +" 2 offset) (let$ parameter (quantified_type_parameter ("lux i64 +" offset 1)) (ExQ$ body'))]} offset,body')) - [0 (with_quantification (list\size args) + [0 (with_quantification (list#size args) body)] args))))} args)) @@ -1132,10 +1132,10 @@ {#Left "Wrong syntax for Ex"}} tokens)) -(def:'' .private (list\reversed list) +(def:'' .private (list#reversed list) (All (_ a) {#Function ($' List a) ($' List a)}) - (list\mix ("lux type check" (All (_ a) + (list#mix ("lux type check" (All (_ a) {#Function a {#Function ($' List a) ($' List a)}}) (function'' [head tail] {#Item head tail})) {#End} @@ -1143,7 +1143,7 @@ (macro:' .public (-> tokens) ({{#Item output inputs} - (in_meta {#Item (list\mix ("lux type check" {#Function Code {#Function Code Code}} + (in_meta {#Item (list#mix ("lux type check" {#Function Code {#Function Code Code}} (function'' [i o] (variant$ {#Item (identifier$ [..prelude_module "#Function"]) {#Item i {#Item o {#End}}}}))) output inputs) @@ -1151,39 +1151,39 @@ _ (failure "Wrong syntax for ->")} - (list\reversed tokens))) + (list#reversed tokens))) (macro:' .public (list xs) - (in_meta {#Item (list\mix |#Item| |#End| (list\reversed xs)) + (in_meta {#Item (list#mix |#Item| |#End| (list#reversed xs)) {#End}})) (macro:' .public (list& xs) ({{#Item last init} - (in_meta (list (list\mix |#Item| last init))) + (in_meta (list (list#mix |#Item| last init))) _ (failure "Wrong syntax for list&")} - (list\reversed xs))) + (list#reversed xs))) (macro:' .public (Union tokens) ({{#End} (in_meta (list (identifier$ [..prelude_module "Nothing"]))) {#Item last prevs} - (in_meta (list (list\mix (function'' [left right] (variant$ (list (identifier$ [..prelude_module "#Sum"]) left right))) + (in_meta (list (list#mix (function'' [left right] (variant$ (list (identifier$ [..prelude_module "#Sum"]) left right))) last prevs)))} - (list\reversed tokens))) + (list#reversed tokens))) (macro:' .public (Tuple tokens) ({{#End} (in_meta (list (identifier$ [..prelude_module "Any"]))) {#Item last prevs} - (in_meta (list (list\mix (function'' [left right] (variant$ (list (identifier$ [..prelude_module "#Product"]) left right))) + (in_meta (list (list#mix (function'' [left right] (variant$ (list (identifier$ [..prelude_module "#Product"]) left right))) last prevs)))} - (list\reversed tokens))) + (list#reversed tokens))) (macro:' .private (function' tokens) (let'' [name tokens'] ({{#Item [[_ {#Identifier ["" name]}] tokens']} @@ -1199,12 +1199,12 @@ {#Item [harg targs]} (in_meta (list (form$ (list (tuple$ (list (local_identifier$ name) harg)) - (list\mix (function'' [arg body'] + (list#mix (function'' [arg body'] (form$ (list (tuple$ (list (local_identifier$ "") arg)) body'))) body - (list\reversed targs))))))} + (list#reversed targs))))))} args) _ @@ -1256,14 +1256,14 @@ (macro:' .private (let' tokens) ({{#Item [[_ {#Tuple bindings}] {#Item [body {#End}]}]} - (in_meta (list (list\mix ("lux type check" (-> (Tuple Code Code) Code + (in_meta (list (list#mix ("lux type check" (-> (Tuple Code Code) Code Code) (function' [binding body] ({[label value] (form$ (list (variant$ (list label body)) value))} binding))) body - (list\reversed (pairs bindings))))) + (list#reversed (pairs bindings))))) _ (failure "Wrong syntax for let'")} @@ -1295,10 +1295,10 @@ (|#Item| token (untemplated_list tokens'))} tokens)) -(def:''' .private (list\composite xs ys) +(def:''' .private (list#composite xs ys) (All (_ a) (-> ($' List a) ($' List a) ($' List a))) ({{#Item x xs'} - {#Item x (list\composite xs' ys)} + {#Item x (list#composite xs' ys)} {#End} ys} @@ -1307,13 +1307,13 @@ (def:''' .private (right_associativity op a1 a2) (-> Code Code Code Code) ({[_ {#Form parts}] - (form$ (list\composite parts (list a1 a2))) + (form$ (list#composite parts (list a1 a2))) _ (form$ (list op a1 a2))} op)) -(def:''' .private (function\flipped func) +(def:''' .private (function#flipped func) (All (_ a b c) (-> (-> a b c) (-> b a c))) (function' [right left] @@ -1322,7 +1322,7 @@ (macro:' .public (_$ tokens) ({{#Item op tokens'} ({{#Item first nexts} - (in_meta (list (list\mix (function\flipped (right_associativity op)) first nexts))) + (in_meta (list (list#mix (function#flipped (right_associativity op)) first nexts))) _ (failure "Wrong syntax for _$")} @@ -1335,11 +1335,11 @@ (macro:' .public ($_ tokens) ({{#Item op tokens'} ({{#Item last prevs} - (in_meta (list (list\mix (right_associativity op) last prevs))) + (in_meta (list (list#mix (right_associativity op) last prevs))) _ (failure "Wrong syntax for $_")} - (list\reversed tokens')) + (list#reversed tokens')) _ (failure "Wrong syntax for $_")} @@ -1395,7 +1395,7 @@ ({{#Item monad {#Item [_ {#Tuple bindings}] {#Item body {#End}}}} (let' [g!in (local_identifier$ "in") g!then (local_identifier$ " then ") - body' (list\mix ("lux type check" (-> (Tuple Code Code) Code Code) + body' (list#mix ("lux type check" (-> (Tuple Code Code) Code Code) (function' [binding body'] (let' [[var value] binding] ({[_ {#Identifier [module short]}] @@ -1415,7 +1415,7 @@ value))} var)))) body - (list\reversed (pairs bindings)))] + (list#reversed (pairs bindings)))] (in_meta (list (form$ (list (variant$ (list (tuple$ (list (identifier$ [..prelude_module "#in"]) g!in (identifier$ [..prelude_module "#then"]) g!then)) body')) @@ -1425,7 +1425,7 @@ (failure "Wrong syntax for do")} tokens)) -(def:''' .private (monad\each m f xs) +(def:''' .private (monad#each m f xs) (All (_ m a b) (-> ($' Monad m) (-> a ($' m b)) @@ -1438,11 +1438,11 @@ {#Item x xs'} (do m [y (f x) - ys (monad\each m f xs')] + ys (monad#each m f xs')] (in {#Item y ys}))} xs))) -(def:''' .private (monad\mix m f y xs) +(def:''' .private (monad#mix m f y xs) (All (_ m a b) (-> ($' Monad m) (-> a b ($' m b)) @@ -1456,7 +1456,7 @@ {#Item x xs'} (do m [y' (f x y)] - (monad\mix m f y' xs'))} + (monad#mix m f y' xs'))} xs))) (macro:' .public (if tokens) @@ -1473,27 +1473,27 @@ Type (All (_ a) ($' List (Tuple Text a)))) -(def:''' .private (plist\value k plist) +(def:''' .private (plist#value k plist) (All (_ a) (-> Text ($' PList a) ($' Maybe a))) ({{#Item [[k' v] plist']} - (if (text\= k k') + (if (text#= k k') {#Some v} - (plist\value k plist')) + (plist#value k plist')) {#End} {#None}} plist)) -(def:''' .private (text\composite x y) +(def:''' .private (text#composite x y) (-> Text Text Text) ("lux text concat" x y)) -(def:''' .private (name\encoded full_name) +(def:''' .private (name#encoded full_name) (-> Name Text) (let' [[module name] full_name] ({"" name - _ ($_ text\composite module "." name)} + _ ($_ text#composite module "." name)} module))) (def:''' .private (global_identifier full_name state) @@ -1515,12 +1515,12 @@ constant) {#None} - {#Left ($_ text\composite "Unknown definition: " (name\encoded full_name))}} - (plist\value name definitions)) + {#Left ($_ text#composite "Unknown definition: " (name#encoded full_name))}} + (plist#value name definitions)) {#None} - {#Left ($_ text\composite "Unknown module: " module " @ " (name\encoded full_name))}} - (plist\value module modules)))) + {#Left ($_ text#composite "Unknown module: " module " @ " (name#encoded full_name))}} + (plist#value module modules)))) (def:''' .private (:List expression) (-> Code Code) @@ -1545,12 +1545,12 @@ [lastO (untemplated lastI)] (in (:List (|#Item| lastO |#End|))))} lastI)] - (monad\mix meta_monad + (monad#mix meta_monad (function' [leftI rightO] ({[_ {#Form {#Item [[_ {#Identifier ["" "~+"]}] {#Item [spliced {#End}]}]}}] (let' [g!in-module (form$ (list (text$ "lux in-module") (text$ ..prelude_module) - (identifier$ [..prelude_module "list\composite"])))] + (identifier$ [..prelude_module "list#composite"])))] (in (form$ (list g!in-module (:List spliced) rightO)))) _ @@ -1560,10 +1560,10 @@ leftI)) lastO inits))} - (list\reversed elems)) + (list#reversed elems)) #0 (do meta_monad - [=elems (monad\each meta_monad untemplated elems)] + [=elems (monad#each meta_monad untemplated elems)] (in (untemplated_list =elems)))} replace?)) @@ -1594,7 +1594,7 @@ [#1 [_ {#Identifier [module name]}]] (do meta_monad [real_name ({"" - (if (text\= "" subst) + (if (text#= "" subst) (in [module name]) (global_identifier [subst name])) @@ -1702,16 +1702,16 @@ (macro:' .public (|> tokens) ({{#Item [init apps]} - (in_meta (list (list\mix ("lux type check" (-> Code Code Code) + (in_meta (list (list#mix ("lux type check" (-> Code Code Code) (function' [app acc] ({[_ {#Variant parts}] - (variant$ (list\composite parts (list acc))) + (variant$ (list#composite parts (list acc))) [_ {#Tuple parts}] - (tuple$ (list\composite parts (list acc))) + (tuple$ (list#composite parts (list acc))) [_ {#Form parts}] - (form$ (list\composite parts (list acc))) + (form$ (list#composite parts (list acc))) _ (` ((~ app) (~ acc)))} @@ -1725,16 +1725,16 @@ (macro:' .public (<| tokens) ({{#Item [init apps]} - (in_meta (list (list\mix ("lux type check" (-> Code Code Code) + (in_meta (list (list#mix ("lux type check" (-> Code Code Code) (function' [app acc] ({[_ {#Variant parts}] - (variant$ (list\composite parts (list acc))) + (variant$ (list#composite parts (list acc))) [_ {#Tuple parts}] - (tuple$ (list\composite parts (list acc))) + (tuple$ (list#composite parts (list acc))) [_ {#Form parts}] - (form$ (list\composite parts (list acc))) + (form$ (list#composite parts (list acc))) _ (` ((~ app) (~ acc)))} @@ -1744,9 +1744,9 @@ _ (failure "Wrong syntax for <|")} - (list\reversed tokens))) + (list#reversed tokens))) -(def:''' .private (function\composite f g) +(def:''' .private (function#composite f g) (All (_ a b c) (-> (-> b c) (-> a b) (-> a c))) (function' [x] (f (g x)))) @@ -1789,13 +1789,13 @@ (..replacement sname env)) [meta {#Form elems}] - [meta {#Form (list\each (realized_template env) elems)}] + [meta {#Form (list#each (realized_template env) elems)}] [meta {#Tuple elems}] - [meta {#Tuple (list\each (realized_template env) elems)}] + [meta {#Tuple (list#each (realized_template env) elems)}] [meta {#Variant elems}] - [meta {#Variant (list\each (realized_template env) elems)}] + [meta {#Variant (list#each (realized_template env) elems)}] _ template} @@ -1804,7 +1804,7 @@ (def:''' .private (every? p xs) (All (_ a) (-> (-> a Bit) ($' List a) Bit)) - (list\mix (function' [_2 _1] (if _1 (p _2) #0)) #1 xs)) + (list#mix (function' [_2 _1] (if _1 (p _2) #0)) #1 xs)) (def:''' .private (high_bits value) (-> ($' I64 Any) I64) @@ -1830,29 +1830,29 @@ (low_bits sample)) #0)))) -(def:''' .private (list\conjoint xs) +(def:''' .private (list#conjoint xs) (All (_ a) (-> ($' List ($' List a)) ($' List a))) - (list\mix list\composite {#End} (list\reversed xs))) + (list#mix list#composite {#End} (list#reversed xs))) (macro:' .public (template tokens) ({{#Item [[_ {#Tuple bindings}] {#Item [[_ {#Tuple templates}] data]}]} ({[{#Some bindings'} {#Some data'}] (let' [apply ("lux type check" (-> Replacement_Environment ($' List Code)) - (function' [env] (list\each (realized_template env) templates))) - num_bindings (list\size bindings')] + (function' [env] (list#each (realized_template env) templates))) + num_bindings (list#size bindings')] (if (every? (function' [size] ("lux i64 =" num_bindings size)) - (list\each list\size data')) + (list#each list#size data')) (|> data' - (list\each (function\composite apply (replacement_environment bindings'))) - list\conjoint + (list#each (function#composite apply (replacement_environment bindings'))) + list#conjoint in_meta) (failure "Irregular arguments tuples for template."))) _ (failure "Wrong syntax for template")} - [(monad\each maybe_monad identifier_short bindings) - (monad\each maybe_monad tuple_list data)]) + [(monad#each maybe_monad identifier_short bindings) + (monad#each maybe_monad tuple_list data)]) _ (failure "Wrong syntax for template")} @@ -1889,7 +1889,7 @@ left right)) -(def:''' .private (bit\encoded x) +(def:''' .private (bit#encoded x) (-> Bit Text) (if x "#1" "#0")) @@ -1902,7 +1902,7 @@ _ ("lux io error" "@digit::format Undefined behavior.")} digit)) -(def:''' .private (nat\encoded value) +(def:''' .private (nat#encoded value) (-> Nat Text) ({0 "0" @@ -1913,18 +1913,18 @@ (if ("lux i64 =" 0 input) output (recur (n// 10 input) - (text\composite (|> input (n/% 10) digit::format) + (text#composite (|> input (n/% 10) digit::format) output)))))] (loop value ""))} value)) -(def:''' .private (int\abs value) +(def:''' .private (int#abs value) (-> Int Int) (if ("lux i64 <" +0 value) ("lux i64 *" -1 value) value)) -(def:''' .private (int\encoded value) +(def:''' .private (int#encoded value) (-> Int Text) (if ("lux i64 =" +0 value) "+0" @@ -1934,14 +1934,14 @@ (("lux type check" (-> Int Text Text) (function' recur [input output] (if ("lux i64 =" +0 input) - (text\composite sign output) + (text#composite sign output) (recur ("lux i64 /" +10 input) - (text\composite (|> input ("lux i64 %" +10) ("lux type as" Nat) digit::format) + (text#composite (|> input ("lux i64 %" +10) ("lux type as" Nat) digit::format) output))))) - (|> value ("lux i64 /" +10) int\abs) - (|> value ("lux i64 %" +10) int\abs ("lux type as" Nat) digit::format))))) + (|> value ("lux i64 /" +10) int#abs) + (|> value ("lux i64 %" +10) int#abs ("lux type as" Nat) digit::format))))) -(def:''' .private (frac\encoded x) +(def:''' .private (frac#encoded x) (-> Frac Text) ("lux f64 encode" x)) @@ -1967,9 +1967,9 @@ Text Text Text ($' Maybe Macro)) (do maybe_monad - [$module (plist\value module modules) + [$module (plist#value module modules) gdef (let' [[#module_hash _ #module_aliases _ #definitions bindings #imports _ #module_state _] ("lux type check" Module $module)] - (plist\value name bindings))] + (plist#value name bindings))] ({{#Alias [r_module r_name]} (macro'' modules current_module r_module r_name) @@ -1977,7 +1977,7 @@ (if (macro_type? def_type) (if exported? {#Some ("lux type as" Macro def_value)} - (if (text\= module current_module) + (if (text#= module current_module) {#Some ("lux type as" Macro def_value)} {#None})) {#None}) @@ -2026,7 +2026,7 @@ {#None} #0} output)))) -(def:''' .private (list\interposed sep xs) +(def:''' .private (list#interposed sep xs) (All (_ a) (-> a ($' List a) ($' List a))) ({{#End} @@ -2036,7 +2036,7 @@ xs {#Item [x xs']} - (list& x sep (list\interposed sep xs'))} + (list& x sep (list#interposed sep xs'))} xs)) (def:''' .private (single_expansion token) @@ -2065,8 +2065,8 @@ ({{#Some macro} (do meta_monad [top_level_expansion (("lux type as" Macro' macro) args) - recursive_expansion (monad\each meta_monad expansion top_level_expansion)] - (in (list\conjoint recursive_expansion))) + recursive_expansion (monad#each meta_monad expansion top_level_expansion)] + (in (list#conjoint recursive_expansion))) {#None} (in (list token))} @@ -2085,92 +2085,92 @@ ({{#Some macro} (do meta_monad [expansion (("lux type as" Macro' macro) args) - expansion' (monad\each meta_monad full_expansion expansion)] - (in (list\conjoint expansion'))) + expansion' (monad#each meta_monad full_expansion expansion)] + (in (list#conjoint expansion'))) {#None} (do meta_monad - [args' (monad\each meta_monad full_expansion args)] - (in (list (form$ {#Item (identifier$ name) (list\conjoint args')}))))} + [args' (monad#each meta_monad full_expansion args)] + (in (list (form$ {#Item (identifier$ name) (list#conjoint args')}))))} ?macro)) [_ {#Form members}] (do meta_monad - [members' (monad\each meta_monad full_expansion members)] - (in (list (form$ (list\conjoint members'))))) + [members' (monad#each meta_monad full_expansion members)] + (in (list (form$ (list#conjoint members'))))) [_ {#Variant members}] (do meta_monad - [members' (monad\each meta_monad full_expansion members)] - (in (list (variant$ (list\conjoint members'))))) + [members' (monad#each meta_monad full_expansion members)] + (in (list (variant$ (list#conjoint members'))))) [_ {#Tuple members}] (do meta_monad - [members' (monad\each meta_monad full_expansion members)] - (in (list (tuple$ (list\conjoint members'))))) + [members' (monad#each meta_monad full_expansion members)] + (in (list (tuple$ (list#conjoint members'))))) _ (in_meta (list syntax))} syntax)) -(def:''' .private (text\encoded original) +(def:''' .private (text#encoded original) (-> Text Text) - ($_ text\composite ..double_quote original ..double_quote)) + ($_ text#composite ..double_quote original ..double_quote)) -(def:''' .private (code\encoded code) +(def:''' .private (code#encoded code) (-> Code Text) ({[_ {#Bit value}] - (bit\encoded value) + (bit#encoded value) [_ {#Nat value}] - (nat\encoded value) + (nat#encoded value) [_ {#Int value}] - (int\encoded value) + (int#encoded value) [_ {#Rev value}] - ("lux io error" "@code\encoded Undefined behavior.") + ("lux io error" "@code#encoded Undefined behavior.") [_ {#Frac value}] - (frac\encoded value) + (frac#encoded value) [_ {#Text value}] - (text\encoded value) + (text#encoded value) [_ {#Identifier [module name]}] - (if (text\= "" module) + (if (text#= "" module) name - ($_ text\composite module "." name)) + ($_ text#composite module "." name)) [_ {#Form xs}] - ($_ text\composite "(" (|> xs - (list\each code\encoded) - (list\interposed " ") - list\reversed - (list\mix text\composite "")) ")") + ($_ text#composite "(" (|> xs + (list#each code#encoded) + (list#interposed " ") + list#reversed + (list#mix text#composite "")) ")") [_ {#Tuple xs}] - ($_ text\composite "[" (|> xs - (list\each code\encoded) - (list\interposed " ") - list\reversed - (list\mix text\composite "")) "]") + ($_ text#composite "[" (|> xs + (list#each code#encoded) + (list#interposed " ") + list#reversed + (list#mix text#composite "")) "]") [_ {#Variant xs}] - ($_ text\composite "{" (|> xs - (list\each code\encoded) - (list\interposed " ") - list\reversed - (list\mix text\composite "")) "}")} + ($_ text#composite "{" (|> xs + (list#each code#encoded) + (list#interposed " ") + list#reversed + (list#mix text#composite "")) "}")} code)) (def:''' .private (normal_type type) (-> Code Code) ({[_ {#Variant {#Item [_ {#Identifier identifier}] parts}}] - (` {(~ (identifier$ identifier)) (~+ (list\each normal_type parts))}) + (` {(~ (identifier$ identifier)) (~+ (list#each normal_type parts))}) [_ {#Tuple members}] - (` (Tuple (~+ (list\each normal_type members)))) + (` (Tuple (~+ (list#each normal_type members)))) [_ {#Form {#Item [_ {#Text "lux in-module"}] {#Item [_ {#Text module}] @@ -2200,10 +2200,10 @@ {#End}}}}}}] [_ {#Form {#Item type_fn args}}] - (list\mix ("lux type check" (-> Code Code Code) + (list#mix ("lux type check" (-> Code Code Code) (function' [arg type_fn] (` {.#Apply (~ arg) (~ type_fn)}))) (normal_type type_fn) - (list\each normal_type args)) + (list#each normal_type args)) _ type} @@ -2262,8 +2262,8 @@ (let' [[x y] xy] ))] - [product\left a x] - [product\right b y]) + [product#left a x] + [product#right b y]) (def:''' .private (identifier prefix state) (-> Text ($' Meta Code)) @@ -2277,13 +2277,13 @@ #seed ("lux i64 +" 1 seed) #expected expected #location location #extensions extensions #scope_type_vars scope_type_vars #eval _eval] - (local_identifier$ ($_ text\composite "__gensym__" prefix (nat\encoded seed)))}} + (local_identifier$ ($_ text#composite "__gensym__" prefix (nat#encoded seed)))}} state)) (macro:' .public (exec tokens) ({{#Item value actions} (let' [dummy (local_identifier$ "")] - (in_meta (list (list\mix ("lux type check" (-> Code Code Code) + (in_meta (list (list#mix ("lux type check" (-> Code Code Code) (function' [pre post] (` ({(~ dummy) (~ post)} (~ pre))))) value @@ -2291,7 +2291,7 @@ _ (failure "Wrong syntax for exec")} - (list\reversed tokens))) + (list#reversed tokens))) (macro:' .private (def:' tokens) (let' [parts (: (Maybe [Code Code (List Code) (Maybe Code) Code]) @@ -2357,11 +2357,11 @@ (do meta_monad [] (in (list))) _ - (failure ($_ text\composite "'lux.case' expects an even number of tokens: " (|> branches - (list\each code\encoded) - (list\interposed " ") - list\reversed - (list\mix text\composite ""))))} + (failure ($_ text#composite "'lux.case' expects an even number of tokens: " (|> branches + (list#each code#encoded) + (list#interposed " ") + list#reversed + (list#mix text#composite ""))))} branches)) (macro:' .public (case tokens) @@ -2398,9 +2398,9 @@ _ (let' [pairs (|> patterns - (list\each (function' [pattern] (list pattern body))) - (list\conjoint))] - (in_meta (list\composite pairs branches)))) + (list#each (function' [pattern] (list pattern body))) + (list#conjoint))] + (in_meta (list#composite pairs branches)))) _ (failure "Wrong syntax for ^or"))) @@ -2416,9 +2416,9 @@ (macro:' .public (let tokens) (case tokens (^ (list [_ {#Tuple bindings}] body)) - (if (multiple? 2 (list\size bindings)) - (|> bindings pairs list\reversed - (list\mix (: (-> [Code Code] Code Code) + (if (multiple? 2 (list#size bindings)) + (|> bindings pairs list#reversed + (list#mix (: (-> [Code Code] Code Code) (function' [lr body'] (let' [[l r] lr] (if (identifier? l) @@ -2450,7 +2450,7 @@ (` ([(~ g!name) (~ g!blank)] (.case (~ g!blank) (~ arg) (~ body'))))))))] (in_meta (list (nest (..local_identifier$ g!name) head - (list\mix (nest g!blank) body (list\reversed tail)))))) + (list#mix (nest g!blank) body (list#reversed tail)))))) {#None} (failure "Wrong syntax for function"))) @@ -2622,7 +2622,7 @@ _ (` ("lux macro" - (function ((~ name) (~+ (list\each local_identifier$ args))) (~ body)))))] + (function ((~ name) (~+ (list#each local_identifier$ args))) (~ body)))))] (in_meta (list (` ("lux def" (~ name) (~ body) (~ export_policy)))))) @@ -2630,7 +2630,7 @@ {#None} (failure "Wrong syntax for macro:"))) -(def: (list\one f xs) +(def: (list#one f xs) (All (_ a b) (-> (-> a (Maybe b)) (List a) (Maybe b))) (case xs @@ -2640,16 +2640,16 @@ {#Item x xs'} (case (f x) {#None} - (list\one f xs') + (list#one f xs') {#Some y} {#Some y}))) (template [
] [(macro: .public ( tokens) - (case (list\reversed tokens) + (case (list#reversed tokens) (^ (list& last init)) - (in_meta (list (list\mix (: (-> Code Code Code) + (in_meta (list (list#mix (: (-> Code Code Code) (function (_ pre post) (` ))) last init))) @@ -2668,7 +2668,7 @@ (-> Text Nothing) ("lux io error" message)) -(macro: (maybe\else tokens state) +(macro: (maybe#else tokens state) (case tokens (^ (list else maybe)) (let [g!temp (: Code [dummy_location {#Identifier ["" ""]}]) @@ -2681,9 +2681,9 @@ {#Right [state (list code)]}) _ - {#Left "Wrong syntax for maybe\else"})) + {#Left "Wrong syntax for maybe#else"})) -(def: (text\all_split_by splitter input) +(def: (text#all_split_by splitter input) (-> Text Text (List Text)) (case (..index splitter input) {#None} @@ -2691,7 +2691,7 @@ {#Some idx} (list& ("lux text clip" 0 idx input) - (text\all_split_by splitter + (text#all_split_by splitter (let [after_offset ("lux i64 +" 1 idx) after_length ("lux i64 -" after_offset @@ -2835,29 +2835,29 @@ #scopes scopes #type_context types #host host #seed seed #expected expected #location location #extensions extensions #scope_type_vars scope_type_vars #eval _eval] state] - (case (plist\value name modules) + (case (plist#value name modules) {#Some module} {#Right state module} _ - {#Left ($_ text\composite "Unknown module: " name)})))) + {#Left ($_ text#composite "Unknown module: " name)})))) (def: (type_slot [module name]) (-> Name (Meta [Nat (List Name) Bit Type])) (do meta_monad [=module (..module module) .let [[#module_hash _ #module_aliases _ #definitions definitions #imports _ #module_state _] =module]] - (case (plist\value name definitions) + (case (plist#value name definitions) {#Some {#Slot [exported type group index]}} (in_meta [index - (list\each (function (_ slot) + (list#each (function (_ slot) [module slot]) group) exported type]) _ - (failure (text\composite "Unknown slot: " (name\encoded [module name])))))) + (failure (text#composite "Unknown slot: " (name#encoded [module name])))))) (def: (record_slots type) (-> Type (Meta (Maybe [(List Name) (List Type)]))) @@ -2875,11 +2875,11 @@ (do meta_monad [=module (..module module) .let [[#module_hash _ #module_aliases _ #definitions definitions #imports _ #module_state _] =module]] - (case (plist\value name definitions) + (case (plist#value name definitions) {#Some {#Type [exported? {#Named _ _type} {#Right slots}]}} (case (interface_methods _type) {#Some members} - (in_meta {#Some [(list\each (function (_ slot) [module slot]) + (in_meta {#Some [(list#each (function (_ slot) [module slot]) {#Item slots}) members]}) @@ -2906,7 +2906,7 @@ {#None} {#Left "Not expecting any type."})))) -(def: (type\encoded type) +(def: (type#encoded type) (-> Type Text) (case type {#Primitive name params} @@ -2915,46 +2915,46 @@ name _ - ($_ text\composite "(" name " " (|> params (list\each type\encoded) (list\interposed " ") list\reversed (list\mix text\composite "")) ")")) + ($_ text#composite "(" name " " (|> params (list#each type#encoded) (list#interposed " ") list#reversed (list#mix text#composite "")) ")")) {#Sum _} - ($_ text\composite "{" (|> (flat_variant type) (list\each type\encoded) (list\interposed " ") list\reversed (list\mix text\composite "")) "}") + ($_ text#composite "{" (|> (flat_variant type) (list#each type#encoded) (list#interposed " ") list#reversed (list#mix text#composite "")) "}") {#Product _} - ($_ text\composite "[" (|> (flat_tuple type) (list\each type\encoded) (list\interposed " ") list\reversed (list\mix text\composite "")) "]") + ($_ text#composite "[" (|> (flat_tuple type) (list#each type#encoded) (list#interposed " ") list#reversed (list#mix text#composite "")) "]") {#Function _} - ($_ text\composite "(-> " (|> (flat_lambda type) (list\each type\encoded) (list\interposed " ") list\reversed (list\mix text\composite "")) ")") + ($_ text#composite "(-> " (|> (flat_lambda type) (list#each type#encoded) (list#interposed " ") list#reversed (list#mix text#composite "")) ")") {#Parameter id} - (nat\encoded id) + (nat#encoded id) {#Var id} - ($_ text\composite "⌈v:" (nat\encoded id) "⌋") + ($_ text#composite "⌈v:" (nat#encoded id) "⌋") {#Ex id} - ($_ text\composite "⟨e:" (nat\encoded id) "⟩") + ($_ text#composite "⟨e:" (nat#encoded id) "⟩") {#UnivQ env body} - ($_ text\composite "(All " (type\encoded body) ")") + ($_ text#composite "(All " (type#encoded body) ")") {#ExQ env body} - ($_ text\composite "(Ex " (type\encoded body) ")") + ($_ text#composite "(Ex " (type#encoded body) ")") {#Apply _} (let [[func args] (flat_application type)] - ($_ text\composite - "(" (type\encoded func) " " - (|> args (list\each type\encoded) (list\interposed " ") list\reversed (list\mix text\composite "")) + ($_ text#composite + "(" (type#encoded func) " " + (|> args (list#each type#encoded) (list#interposed " ") list#reversed (list#mix text#composite "")) ")")) {#Named name _} - (name\encoded name) + (name#encoded name) )) (macro: .public (implementation tokens) (do meta_monad - [tokens' (monad\each meta_monad expansion tokens) + [tokens' (monad#each meta_monad expansion tokens) struct_type ..expected_type tags+type (record_slots struct_type) tags (: (Meta (List Name)) @@ -2963,40 +2963,40 @@ (in_meta tags) _ - (failure ($_ text\composite + (failure ($_ text#composite "No tags available for type: " - (type\encoded struct_type))))) + (type#encoded struct_type))))) .let [tag_mappings (: (List [Text Code]) - (list\each (function (_ tag) - [(product\right tag) + (list#each (function (_ tag) + [(product#right tag) (identifier$ tag)]) tags))] - members (monad\each meta_monad + members (monad#each meta_monad (: (-> Code (Meta (List Code))) (function (_ token) (case token (^ [_ {#Form (list [_ {#Text "lux def"}] [_ {#Identifier ["" slot_name]}] value export_policy)}]) - (case (plist\value slot_name tag_mappings) + (case (plist#value slot_name tag_mappings) {#Some tag} (in (list tag value)) _ - (failure (text\composite "Unknown implementation member: " slot_name))) + (failure (text#composite "Unknown implementation member: " slot_name))) _ (failure "Invalid implementation member.")))) - (list\conjoint tokens'))] - (in (list (tuple$ (list\conjoint members)))))) + (list#conjoint tokens'))] + (in (list (tuple$ (list#conjoint members)))))) -(def: (text\interposed separator parts) +(def: (text#interposed separator parts) (-> Text (List Text) Text) (case parts {#End} "" {#Item head tail} - (list\mix (function (_ right left) - ($_ text\composite left separator right)) + (list#mix (function (_ right left) + ($_ text#composite left separator right)) head tail))) @@ -3036,7 +3036,7 @@ {#None} (failure "Wrong syntax for implementation:"))) -(def: (function\identity value) +(def: (function#identity value) (All (_ a) (-> a a)) value) @@ -3076,9 +3076,9 @@ (macro: .public (Variant tokens) (case (everyP caseP tokens) {#Some cases} - (in_meta (list (` (..Union (~+ (list\each product\right cases)))) - (variant$ (list\each (function (_ case) - (text$ (product\left case))) + (in_meta (list (` (..Union (~+ (list#each product#right cases)))) + (variant$ (list#each (function (_ case) + (text$ (product#left case))) cases)))) {#None} @@ -3098,9 +3098,9 @@ (^ (list [_ {#Tuple record}])) (case (everyP slotP record) {#Some slots} - (in_meta (list (` (..Tuple (~+ (list\each product\right slots)))) - (tuple$ (list\each (function (_ slot) - (text$ (product\left slot))) + (in_meta (list (` (..Tuple (~+ (list#each product#right slots)))) + (tuple$ (list#each (function (_ slot) + (text$ (product#left slot))) slots)))) {#None} @@ -3174,7 +3174,7 @@ {#Some type} _ - {#Some (` (.All ((~ type_name) (~+ (list\each local_identifier$ args))) + {#Some (` (.All ((~ type_name) (~+ (list#each local_identifier$ args))) (~ type)))}))]] (case type' {#Some type''} @@ -3187,10 +3187,10 @@ (~ typeC) (~ (case labels {#Left tags} - (` {(~+ (list\each text$ tags))}) + (` {(~+ (list#each text$ tags))}) {#Right slots} - (` [(~+ (list\each text$ slots))]))) + (` [(~+ (list#each text$ slots))]))) (~ export_policy))) _ @@ -3240,7 +3240,7 @@ (def: (referral_references defs) (-> (List Code) (Meta (List Text))) - (monad\each meta_monad + (monad#each meta_monad (: (-> Code (Meta Text)) (function (_ def) (case def @@ -3285,7 +3285,7 @@ (^ (list& [_ {#Form (list& [_ {#Text prefix}] structs)}] parts')) (do meta_monad - [structs' (monad\each meta_monad + [structs' (monad#each meta_monad (function (_ struct) (case struct [_ {#Identifier ["" struct_name]}] @@ -3302,24 +3302,24 @@ _ (in_meta [{#End} parts]))) -(def: (text\split_at' at x) +(def: (text#split_at' at x) (-> Nat Text [Text Text]) [("lux text clip" 0 at x) ("lux text clip" at (|> x "lux text size" ("lux i64 -" at)) x)]) -(def: (text\split_by token sample) +(def: (text#split_by token sample) (-> Text Text (Maybe [Text Text])) (do ..maybe_monad [index (..index token sample) - .let [[pre post'] (text\split_at' index sample) - [_ post] (text\split_at' ("lux text size" token) post')]] + .let [[pre post'] (text#split_at' index sample) + [_ post] (text#split_at' ("lux text size" token) post')]] (in [pre post]))) (def: (replaced pattern replacement template) (-> Text Text Text Text) ((: (-> Text Text Text) (function (recur left right) - (case (..text\split_by pattern right) + (case (..text#split_by pattern right) {#Some [pre post]} (recur ($_ "lux text concat" left pre replacement) post) @@ -3329,12 +3329,12 @@ (def: (alias_stand_in index) (-> Nat Text) - ($_ "lux text concat" "[" (nat\encoded index) "]")) + ($_ "lux text concat" "[" (nat#encoded index) "]")) (def: (module_alias context aliased) (-> (List Text) Text Text) - (product\right - (list\mix (function (_ replacement [index aliased]) + (product#right + (list#mix (function (_ replacement [index aliased]) [("lux i64 +" 1 index) (replaced (alias_stand_in index) replacement aliased)]) [0 aliased] @@ -3348,8 +3348,8 @@ (def: (normal_parallel_path' hierarchy root) (-> Text Text Text) - (case [(text\split_by ..module_separator hierarchy) - (text\split_by ..parallel_hierarchy_sigil root)] + (case [(text#split_by ..module_separator hierarchy) + (text#split_by ..parallel_hierarchy_sigil root)] [{#Some [_ hierarchy']} {#Some ["" root']}] (normal_parallel_path' hierarchy' root') @@ -3357,11 +3357,11 @@ _ (case root "" hierarchy - _ ($_ text\composite root ..module_separator hierarchy)))) + _ ($_ text#composite root ..module_separator hierarchy)))) (def: (normal_parallel_path hierarchy root) (-> Text Text (Maybe Text)) - (case (text\split_by ..parallel_hierarchy_sigil root) + (case (text#split_by ..parallel_hierarchy_sigil root) {#Some ["" root']} {#Some (normal_parallel_path' hierarchy root')} @@ -3379,14 +3379,14 @@ (relative_ups ("lux i64 +" 1 relatives) input) relatives))) -(def: (list\after amount list) +(def: (list#after amount list) (All (_ a) (-> Nat (List a) (List a))) (case [amount list] (^or [0 _] [_ {#End}]) list [_ {#Item _ tail}] - (list\after ("lux i64 -" 1 amount) tail))) + (list#after ("lux i64 -" 1 amount) tail))) (def: (absolute_module_name nested? relative_root module) (-> Bit Text Text (Meta Text)) @@ -3397,28 +3397,28 @@ module)) relatives - (let [parts (text\all_split_by ..module_separator relative_root) + (let [parts (text#all_split_by ..module_separator relative_root) jumps ("lux i64 -" 1 relatives)] - (if (n/< (list\size parts) jumps) + (if (n/< (list#size parts) jumps) (let [prefix (|> parts - list\reversed - (list\after jumps) - list\reversed - (text\interposed ..module_separator)) + list#reversed + (list#after jumps) + list#reversed + (text#interposed ..module_separator)) clean ("lux text clip" relatives (|> module "lux text size" ("lux i64 -" relatives)) module) output (case ("lux text size" clean) 0 prefix - _ ($_ text\composite prefix ..module_separator clean))] + _ ($_ text#composite prefix ..module_separator clean))] (in_meta output)) (failure ($_ "lux text concat" - "Cannot climb the module hierarchy..." ..\n - "Importing module: " module ..\n - " Relative Root: " relative_root ..\n)))))) + "Cannot climb the module hierarchy..." \n + "Importing module: " module \n + " Relative Root: " relative_root \n)))))) (def: (imports_parser nested? relative_root context imports) (-> Bit Text (List Text) (List Code) (Meta (List Importation))) (do meta_monad - [imports' (monad\each meta_monad + [imports' (monad#each meta_monad (: (-> Code (Meta (List Importation))) (function (_ token) (case token @@ -3485,11 +3485,11 @@ _ (do meta_monad [current_module current_module_name] - (failure ($_ text\composite + (failure ($_ text#composite "Wrong syntax for import @ " current_module - ..\n (code\encoded token))))))) + \n (code#encoded token))))))) imports)] - (in (list\conjoint imports')))) + (in (list#conjoint imports')))) (def: (exported_definitions module state) (-> Text (Meta (List Text))) @@ -3499,9 +3499,9 @@ #seed seed #expected expected #location location #extensions extensions #scope_type_vars scope_type_vars #eval _eval] [current_module modules])] - (case (plist\value module modules) + (case (plist#value module modules) {#Some =module} - (let [to_alias (list\each (: (-> [Text Global] + (let [to_alias (list#each (: (-> [Text Global] (List Text)) (function (_ [name definition]) (case definition @@ -3525,25 +3525,25 @@ (list)))) (let [[#module_hash _ #module_aliases _ #definitions definitions #imports _ #module_state _] =module] definitions))] - {#Right state (list\conjoint to_alias)}) + {#Right state (list#conjoint to_alias)}) {#None} - {#Left ($_ text\composite - "Unknown module: " (text\encoded module) ..\n + {#Left ($_ text#composite + "Unknown module: " (text#encoded module) \n "Current module: " (case current_module {#Some current_module} - (text\encoded current_module) + (text#encoded current_module) {#None} - "???") ..\n + "???") \n "Known modules: " (|> modules - (list\each (function (_ [name module]) + (list#each (function (_ [name module]) (text$ name))) tuple$ - code\encoded))}) + code#encoded))}) )) -(def: (list\only p xs) +(def: (list#only p xs) (All (_ a) (-> (-> a Bit) (List a) (List a))) (case xs @@ -3552,14 +3552,14 @@ {#Item x xs'} (if (p x) - {#Item x (list\only p xs')} - (list\only p xs')))) + {#Item x (list#only p xs')} + (list#only p xs')))) (def: (is_member? cases name) (-> (List Text) Text Bit) - (let [output (list\mix (function (_ case prev) + (let [output (list#mix (function (_ case prev) (or prev - (text\= case name))) + (text#= case name))) #0 cases)] output)) @@ -3578,16 +3578,16 @@ #scopes scopes #type_context types #host host #seed seed #expected expected #location location #extensions extensions #scope_type_vars scope_type_vars #eval _eval] - (list\one (: (-> Scope (Maybe Type)) + (list#one (: (-> Scope (Maybe Type)) (function (_ env) (case env [#name _ #inner _ #locals [#counter _ #mappings locals] #captured [#counter _ #mappings closure]] - (on_either (list\one (: (-> [Text [Type Any]] (Maybe Type)) + (on_either (list#one (: (-> [Text [Type Any]] (Maybe Type)) (function (_ [bname [type _]]) - (if (text\= name bname) + (if (text#= name bname) {#Some type} {#None})))) (: (List [Text [Type Any]]) locals) @@ -3601,12 +3601,12 @@ #scopes scopes #type_context types #host host #seed seed #expected expected #location location #extensions extensions #scope_type_vars scope_type_vars #eval _eval] state] - (case (plist\value v_module modules) + (case (plist#value v_module modules) {#None} {#None} {#Some [#definitions definitions #module_hash _ #module_aliases _ #imports _ #module_state _]} - (case (plist\value v_name definitions) + (case (plist#value v_name definitions) {#None} {#None} @@ -3634,14 +3634,14 @@ #scopes scopes #type_context types #host host #seed seed #expected expected #location location #extensions extensions #scope_type_vars scope_type_vars #eval _eval] state] - (case (plist\value v_module modules) + (case (plist#value v_module modules) {#None} - {#Left (text\composite "Unknown definition: " (name\encoded name))} + {#Left (text#composite "Unknown definition: " (name#encoded name))} {#Some [#definitions definitions #module_hash _ #module_aliases _ #imports _ #module_state _]} - (case (plist\value v_name definitions) + (case (plist#value v_name definitions) {#None} - {#Left (text\composite "Unknown definition: " (name\encoded name))} + {#Left (text#composite "Unknown definition: " (name#encoded name))} {#Some definition} (case definition @@ -3655,10 +3655,10 @@ {#Right [state [..Type type]]} {#Label _} - {#Left (text\composite "Unknown definition: " (name\encoded name))} + {#Left (text#composite "Unknown definition: " (name#encoded name))} {#Slot _} - {#Left (text\composite "Unknown definition: " (name\encoded name))}))))) + {#Left (text#composite "Unknown definition: " (name#encoded name))}))))) (def: (type_variable idx bindings) (-> Nat (List [Nat (Maybe Type)]) (Maybe Type)) @@ -3677,7 +3677,7 @@ [.let [[module name] full_name] current_module current_module_name] (function (_ compiler) - (let [temp (if (text\= "" module) + (let [temp (if (text#= "" module) (case (in_env name compiler) {#Some struct_type} {#Right [compiler struct_type]} @@ -3688,13 +3688,13 @@ {#Right [compiler struct_type]} _ - {#Left ($_ text\composite "Unknown var: " (name\encoded full_name))})) + {#Left ($_ text#composite "Unknown var: " (name#encoded full_name))})) (case (definition_type full_name compiler) {#Some struct_type} {#Right [compiler struct_type]} _ - {#Left ($_ text\composite "Unknown var: " (name\encoded full_name))}))] + {#Left ($_ text#composite "Unknown var: " (name#encoded full_name))}))] (case temp {#Right [compiler {#Var type_id}]} (let [[#info _ #source _ #current_module _ #modules _ @@ -3741,24 +3741,24 @@ struct_evidence (record_slots init_type)] (case struct_evidence {#None} - (failure (text\composite "Can only 'open' structs: " (type\encoded init_type))) + (failure (text#composite "Can only 'open' structs: " (type#encoded init_type))) {#Some tags&members} (do meta_monad [full_body ((: (-> Name [(List Name) (List Type)] Code (Meta Code)) (function (recur source [tags members] target) - (let [locals (list\each (function (_ [t_module t_name]) + (let [locals (list#each (function (_ [t_module t_name]) [[t_module t_name] ["" (..module_alias (list t_name) alias)]]) tags) pattern (|> locals - (list\each (function (_ [slot binding]) + (list#each (function (_ [slot binding]) (list (identifier$ slot) (identifier$ binding)))) - list\conjoint + list#conjoint tuple$)] (do meta_monad - [enhanced_target (monad\mix meta_monad + [enhanced_target (monad#mix meta_monad (function (_ [[_ m_local] m_type] enhanced_target) (do meta_monad [m_implementation (record_slots m_type)] @@ -3780,11 +3780,11 @@ (failure "Wrong syntax for ^open"))) (macro: .public (cond tokens) - (if ("lux i64 =" 0 (n/% 2 (list\size tokens))) + (if ("lux i64 =" 0 (n/% 2 (list#size tokens))) (failure "cond requires an uneven number of arguments.") - (case (list\reversed tokens) + (case (list#reversed tokens) (^ (list& else branches')) - (in_meta (list (list\mix (: (-> [Code Code] Code Code) + (in_meta (list (list#mix (: (-> [Code Code] Code Code) (function (_ branch else) (let [[right left] branch] (` (if (~ left) (~ right) (~ else)))))) @@ -3821,13 +3821,13 @@ (case (interface_methods type) {#Some members} (let [pattern (|> (zipped/2 tags (enumeration members)) - (list\each (: (-> [Name [Nat Type]] (List Code)) + (list#each (: (-> [Name [Nat Type]] (List Code)) (function (_ [[r_module r_name] [r_idx r_type]]) (list (identifier$ [r_module r_name]) (if ("lux i64 =" idx r_idx) g!output g!_))))) - list\conjoint + list#conjoint tuple$)] (in_meta (list (` ({(~ pattern) (~ g!output)} (~ record)))))) @@ -3835,7 +3835,7 @@ (failure "value@ can only use records."))) (^ (list [_ {#Tuple slots}] record)) - (in_meta (list (list\mix (: (-> Code Code Code) + (in_meta (list (list#mix (: (-> Code Code Code) (function (_ slot inner) (` (..value@ (~ slot) (~ inner))))) record @@ -3858,7 +3858,7 @@ .let [g!output (local_identifier$ short) pattern (|> tags enumeration - (list\each (function (_ [tag_idx tag]) + (list#each (function (_ [tag_idx tag]) (if ("lux i64 =" my_tag_index tag_idx) g!output g!_))) @@ -3867,12 +3867,12 @@ (case output {#Some [tags' members']} (do meta_monad - [decls' (monad\each meta_monad + [decls' (monad#each meta_monad (: (-> [Nat Name Type] (Meta (List Code))) (function (_ [sub_tag_index sname stype]) (open_declaration alias tags' sub_tag_index sname source+ stype))) (enumeration (zipped/2 tags' members')))] - (in_meta (list\conjoint decls'))) + (in_meta (list#conjoint decls'))) _ (in_meta (list (` ("lux def" (~ (local_identifier$ (..module_alias (list short) alias))) @@ -3891,14 +3891,14 @@ (case output {#Some [tags members]} (do meta_monad - [decls' (monad\each meta_monad (: (-> [Nat Name Type] (Meta (List Code))) + [decls' (monad#each meta_monad (: (-> [Nat Name Type] (Meta (List Code))) (function (_ [tag_index sname stype]) (open_declaration alias tags tag_index sname source stype))) (enumeration (zipped/2 tags members)))] - (in_meta (list\conjoint decls'))) + (in_meta (list#conjoint decls'))) _ - (failure (text\composite "Can only 'open:' structs: " (type\encoded struct_type))))) + (failure (text#composite "Can only 'open:' structs: " (type#encoded struct_type))))) _ (do meta_monad @@ -3942,11 +3942,11 @@ #refer_open openings]) _ - (failure ($_ text\composite "Wrong syntax for refer @ " current_module - ..\n (|> options - (list\each code\encoded) - (list\interposed " ") - (list\mix text\composite ""))))))) + (failure ($_ text#composite "Wrong syntax for refer @ " current_module + \n (|> options + (list#each code#encoded) + (list#interposed " ") + (list#mix text#composite ""))))))) (def: (referral_definitions module_name [r_defs r_opens]) (-> Text Refer (Meta (List Code))) @@ -3954,12 +3954,12 @@ [current_module current_module_name .let [test_referrals (: (-> Text (List Text) (List Text) (Meta (List Any))) (function (_ module_name all_defs referred_defs) - (monad\each meta_monad + (monad#each meta_monad (: (-> Text (Meta Any)) (function (_ _def) (if (is_member? all_defs _def) (in_meta []) - (failure ($_ text\composite _def " is not defined in module " module_name " @ " current_module))))) + (failure ($_ text#composite _def " is not defined in module " module_name " @ " current_module))))) referred_defs)))] defs' (case r_defs {#All} @@ -3975,25 +3975,25 @@ (do meta_monad [*defs (exported_definitions module_name) _ (test_referrals module_name *defs _defs)] - (in (..list\only (|>> (is_member? _defs) not) *defs))) + (in (..list#only (|>> (is_member? _defs) not) *defs))) {#Ignore} (in (list)) {#Nothing} (in (list))) - .let [defs (list\each (: (-> Text Code) + .let [defs (list#each (: (-> Text Code) (function (_ def) (` ("lux def alias" (~ (local_identifier$ def)) (~ (identifier$ [module_name def])))))) defs') openings (|> r_opens - (list\each (: (-> Openings (List Code)) + (list#each (: (-> Openings (List Code)) (function (_ [alias structs]) - (list\each (function (_ name) + (list#each (function (_ name) (` (open: (~ (text$ alias)) (~ (identifier$ [module_name name]))))) structs)))) - list\conjoint)]] - (in (list\composite defs openings)))) + list#conjoint)]] + (in (list#composite defs openings)))) (macro: (refer tokens) (case tokens @@ -4007,26 +4007,26 @@ (def: (refer_code module_name module_alias' [r_defs r_opens]) (-> Text (Maybe Text) Refer Code) - (let [module_alias (..maybe\else module_name module_alias') + (let [module_alias (..maybe#else module_name module_alias') localizations (: (List Code) (case r_defs {#All} (list (' "*")) {#Only defs} - (list (variant$ (list (' "+") (tuple$ (list\each local_identifier$ defs))))) + (list (variant$ (list (' "+") (tuple$ (list#each local_identifier$ defs))))) {#Exclude defs} - (list (variant$ (list (' "-") (tuple$ (list\each local_identifier$ defs))))) + (list (variant$ (list (' "-") (tuple$ (list#each local_identifier$ defs))))) {#Ignore} (list) {#Nothing} (list))) - openings (list\each (function (_ [alias structs]) + openings (list#each (function (_ [alias structs]) (form$ (list& (text$ (..module_alias (list (alias_stand_in 0) module_alias) alias)) - (list\each local_identifier$ structs)))) + (list#each local_identifier$ structs)))) r_opens)] (` ((~! ..refer) (~ (text$ module_name)) (~+ localizations) @@ -4037,27 +4037,27 @@ [current_module current_module_name imports (imports_parser #0 current_module {#End} _imports) .let [=imports (|> imports - (list\each (: (-> Importation Code) + (list#each (: (-> Importation Code) (function (_ [module_name m_alias =refer]) - (` [(~ (text$ module_name)) (~ (text$ (..maybe\else "" m_alias)))])))) + (` [(~ (text$ module_name)) (~ (text$ (..maybe#else "" m_alias)))])))) tuple$) - =refers (list\each (: (-> Importation Code) + =refers (list#each (: (-> Importation Code) (function (_ [module_name m_alias =refer]) (refer_code module_name m_alias =refer))) imports) =module (` ("lux def module" (~ =imports)))]] (in {#Item =module =refers}))) -(macro: .public (\ tokens) +(macro: .public (# tokens) (case tokens (^ (list struct [_ {#Identifier member}])) (in_meta (list (` (let [(^open (~ (text$ (alias_stand_in 0)))) (~ struct)] (~ (identifier$ member)))))) (^ (list& struct member args)) - (in_meta (list (` ((..\ (~ struct) (~ member)) (~+ args))))) + (in_meta (list (` ((..# (~ struct) (~ member)) (~+ args))))) _ - (failure "Wrong syntax for \"))) + (failure "Wrong syntax for #"))) (macro: .public (with@ tokens) (case tokens @@ -4069,7 +4069,7 @@ (case (interface_methods type) {#Some members} (do meta_monad - [pattern' (monad\each meta_monad + [pattern' (monad#each meta_monad (: (-> [Name [Nat Type]] (Meta [Name Nat Code])) (function (_ [r_slot_name [r_idx r_type]]) (do meta_monad @@ -4077,20 +4077,20 @@ (in_meta [r_slot_name r_idx g!slot])))) (zipped/2 tags (enumeration members)))] (let [pattern (|> pattern' - (list\each (: (-> [Name Nat Code] (List Code)) + (list#each (: (-> [Name Nat Code] (List Code)) (function (_ [r_slot_name r_idx r_var]) (list (identifier$ r_slot_name) r_var)))) - list\conjoint + list#conjoint tuple$) output (|> pattern' - (list\each (: (-> [Name Nat Code] (List Code)) + (list#each (: (-> [Name Nat Code] (List Code)) (function (_ [r_slot_name r_idx r_var]) (list (identifier$ r_slot_name) (if ("lux i64 =" idx r_idx) value r_var))))) - list\conjoint + list#conjoint tuple$)] (in_meta (list (` ({(~ pattern) (~ output)} (~ record))))))) @@ -4104,23 +4104,23 @@ _ (do meta_monad - [bindings (monad\each meta_monad + [bindings (monad#each meta_monad (: (-> Code (Meta Code)) (function (_ _) (..identifier "temp"))) slots) .let [pairs (zipped/2 slots bindings) - update_expr (list\mix (: (-> [Code Code] Code Code) + update_expr (list#mix (: (-> [Code Code] Code Code) (function (_ [s b] v) (` (..with@ (~ s) (~ v) (~ b))))) value - (list\reversed pairs)) - [_ accesses'] (list\mix (: (-> [Code Code] [Code (List (List Code))] [Code (List (List Code))]) + (list#reversed pairs)) + [_ accesses'] (list#mix (: (-> [Code Code] [Code (List (List Code))] [Code (List (List Code))]) (function (_ [new_slot new_binding] [old_record accesses']) [(` (value@ (~ new_slot) (~ new_binding))) {#Item (list new_binding old_record) accesses'}])) [record (: (List (List Code)) {#End})] pairs) - accesses (list\conjoint (list\reversed accesses'))]] + accesses (list#conjoint (list#reversed accesses'))]] (in (list (` (let [(~+ accesses)] (~ update_expr))))))) @@ -4152,7 +4152,7 @@ (case (interface_methods type) {#Some members} (do meta_monad - [pattern' (monad\each meta_monad + [pattern' (monad#each meta_monad (: (-> [Name [Nat Type]] (Meta [Name Nat Code])) (function (_ [r_slot_name [r_idx r_type]]) (do meta_monad @@ -4160,20 +4160,20 @@ (in_meta [r_slot_name r_idx g!slot])))) (zipped/2 tags (enumeration members)))] (let [pattern (|> pattern' - (list\each (: (-> [Name Nat Code] (List Code)) + (list#each (: (-> [Name Nat Code] (List Code)) (function (_ [r_slot_name r_idx r_var]) (list (identifier$ r_slot_name) r_var)))) - list\conjoint + list#conjoint tuple$) output (|> pattern' - (list\each (: (-> [Name Nat Code] (List Code)) + (list#each (: (-> [Name Nat Code] (List Code)) (function (_ [r_slot_name r_idx r_var]) (list (identifier$ r_slot_name) (if ("lux i64 =" idx r_idx) (` ((~ fun) (~ r_var))) r_var))))) - list\conjoint + list#conjoint tuple$)] (in_meta (list (` ({(~ pattern) (~ output)} (~ record))))))) @@ -4219,20 +4219,20 @@ branches)) (case (: (Maybe (List Code)) (do maybe_monad - [bindings' (monad\each maybe_monad identifier_short bindings) - data' (monad\each maybe_monad tuple_list data)] - (let [num_bindings (list\size bindings')] + [bindings' (monad#each maybe_monad identifier_short bindings) + data' (monad#each maybe_monad tuple_list data)] + (let [num_bindings (list#size bindings')] (if (every? (|>> ("lux i64 =" num_bindings)) - (list\each list\size data')) + (list#each list#size data')) (let [apply (: (-> Replacement_Environment (List Code)) - (function (_ env) (list\each (realized_template env) templates)))] + (function (_ env) (list#each (realized_template env) templates)))] (|> data' - (list\each (function\composite apply (replacement_environment bindings'))) - list\conjoint + (list#each (function#composite apply (replacement_environment bindings'))) + list#conjoint in)) {#None})))) {#Some output} - (in_meta (list\composite output branches)) + (in_meta (list#composite output branches)) {#None} (failure "Wrong syntax for ^template")) @@ -4269,7 +4269,7 @@ (-> Type Code) (case type {#Primitive name params} - (` {.#Primitive (~ (text$ name)) (~ (untemplated_list (list\each type_code params)))}) + (` {.#Primitive (~ (text$ name)) (~ (untemplated_list (list#each type_code params)))}) (^template [] [{ left right} @@ -4285,7 +4285,7 @@ (^template [] [{ env type} - (let [env' (untemplated_list (list\each type_code env))] + (let [env' (untemplated_list (list#each type_code env))] (` { (~ env') (~ (type_code type))}))]) ([.#UnivQ] [.#ExQ]) @@ -4309,24 +4309,24 @@ (case ?params {#Some [name bindings body]} (let [pairs (pairs bindings) - vars (list\each product\left pairs) - inits (list\each product\right pairs)] + vars (list#each product#left pairs) + inits (list#each product#right pairs)] (if (every? identifier? inits) (do meta_monad [inits' (: (Meta (List Name)) - (case (monad\each maybe_monad identifier_name inits) + (case (monad#each maybe_monad identifier_name inits) {#Some inits'} (in_meta inits') {#None} (failure "Wrong syntax for loop"))) - init_types (monad\each meta_monad type_definition inits') + init_types (monad#each meta_monad type_definition inits') expected ..expected_type] (in_meta (list (` (("lux type check" - (-> (~+ (list\each type_code init_types)) + (-> (~+ (list#each type_code init_types)) (~ (type_code expected))) (function ((~ name) (~+ vars)) (~ body))) (~+ inits)))))) (do meta_monad - [aliases (monad\each meta_monad + [aliases (monad#each meta_monad (: (-> Code (Meta Code)) (function (_ _) (..identifier ""))) inits)] @@ -4346,7 +4346,7 @@ (case (: (Maybe [Name (List Name)]) (do maybe_monad [hslot (..identifier_name hslot') - tslots (monad\each maybe_monad ..identifier_name tslots')] + tslots (monad#each maybe_monad ..identifier_name tslots')] (in [hslot tslots]))) {#Some slots} (in_meta slots) @@ -4355,22 +4355,22 @@ (failure "Wrong syntax for ^slots"))) .let [[hslot tslots] slots] hslot (..normal hslot) - tslots (monad\each meta_monad ..normal tslots) + tslots (monad#each meta_monad ..normal tslots) output (..type_slot hslot) g!_ (..identifier "_") .let [[idx tags exported? type] output - slot_pairings (list\each (: (-> Name [Text Code]) + slot_pairings (list#each (: (-> Name [Text Code]) (function (_ [module name]) [name (local_identifier$ name)])) (list& hslot tslots)) pattern (|> tags - (list\each (: (-> Name (List Code)) + (list#each (: (-> Name (List Code)) (function (_ [module name]) (let [tag (identifier$ [module name])] - (case (plist\value name slot_pairings) + (case (plist#value name slot_pairings) {#Some binding} (list tag binding) {#None} (list tag g!_)))))) - list\conjoint + list#conjoint tuple$)]] (in_meta (list& pattern body branches))) @@ -4384,14 +4384,14 @@ (list target) [_ {#Identifier [module name]}] - (if (and (text\= "" module) - (text\= label name)) + (if (and (text#= "" module) + (text#= label name)) tokens (list target)) (^template [] [[location { elems}] - (list [location { (list\conjoint (list\each (with_expansions' label tokens) elems))}])]) + (list [location { (list#conjoint (list#each (with_expansions' label tokens) elems))}])]) ([#Form] [#Variant] [#Tuple]))) @@ -4453,13 +4453,13 @@ ["Text" Text text$]) _ - (failure (text\composite "Cannot anti-quote type: " (name\encoded name)))))) + (failure (text#composite "Cannot anti-quote type: " (name#encoded name)))))) (def: (static_literal token) (-> Code (Meta Code)) (case token [_ {#Identifier [def_module def_name]}] - (if (text\= "" def_module) + (if (text#= "" def_module) (do meta_monad [current_module current_module_name] (static_simple_literal [current_module def_name])) @@ -4468,7 +4468,7 @@ (^template [] [[meta { parts}] (do meta_monad - [=parts (monad\each meta_monad static_literal parts)] + [=parts (monad#each meta_monad static_literal parts)] (in [meta { =parts}]))]) ([#Form] [#Variant] @@ -4477,7 +4477,7 @@ _ (in_meta token) ... TODO: Figure out why this doesn't work: - ... (\ meta_monad in token) + ... (# meta_monad in token) )) (macro: .public (static tokens) @@ -4511,12 +4511,12 @@ {#Item init extras} (do meta_monad - [extras' (monad\each meta_monad case_level^ extras)] + [extras' (monad#each meta_monad case_level^ extras)] (in [init extras'])))) (def: (multi_level_case$ g!_ [[init_pattern levels] body]) (-> Code [Multi_Level_Case Code] (List Code)) - (let [inner_pattern_body (list\mix (function (_ [calculation pattern] success) + (let [inner_pattern_body (list#mix (function (_ [calculation pattern] success) (let [bind? (case pattern [_ {#Identifier _}] #1 @@ -4531,7 +4531,7 @@ (list) (list g!_ (` {.#None})))))))) (` {.#Some (~ body)}) - (: (List [Code Code]) (list\reversed levels)))] + (: (List [Code Code]) (list#reversed levels)))] (list init_pattern inner_pattern_body))) (macro: .public (^multi tokens) @@ -4571,8 +4571,8 @@ ... 'wrong_syntax_error' for easier maintenance of the error_messages. (def: wrong_syntax_error (-> Name Text) - (|>> name\encoded - (text\composite "Wrong syntax for "))) + (|>> name#encoded + (text#composite "Wrong syntax for "))) (macro: .public (name_of tokens) (case tokens @@ -4596,12 +4596,12 @@ (^ (list [_ {#Nat idx}])) (do meta_monad [stvs ..scope_type_vars] - (case (..item idx (list\reversed stvs)) + (case (..item idx (list#reversed stvs)) {#Some var_id} (in (list (` {.#Ex (~ (nat$ var_id))}))) {#None} - (failure (text\composite "Indexed-type does not exist: " (nat\encoded idx))))) + (failure (text#composite "Indexed-type does not exist: " (nat#encoded idx))))) _ (failure (..wrong_syntax_error (name_of ..$))))) @@ -4655,7 +4655,7 @@ (do meta_monad [location ..location .let [[module line column] location - location ($_ "lux text concat" (text\encoded module) "," (nat\encoded line) "," (nat\encoded column)) + location ($_ "lux text concat" (text#encoded module) "," (nat#encoded line) "," (nat#encoded column)) message ($_ "lux text concat" "Undefined behavior @ " location)]] (in (list (` (..panic! (~ (text$ message))))))) @@ -4704,16 +4704,16 @@ [g!tokens (..identifier "tokens") g!compiler (..identifier "compiler") g!_ (..identifier "_") - .let [rep_env (list\each (function (_ arg) + .let [rep_env (list#each (function (_ arg) [arg (` ((~' ~) (~ (local_identifier$ arg))))]) args)] this_module current_module_name] (in (list (` (macro: (~ export_policy) ((~ (local_identifier$ name)) (~ g!tokens) (~ g!compiler)) (case (~ g!tokens) - (^ (list (~+ (list\each local_identifier$ args)))) + (^ (list (~+ (list#each local_identifier$ args)))) {.#Right [(~ g!compiler) - (list (~+ (list\each (function (_ template) + (list (~+ (list#each (function (_ template) (` (`' (~ (with_replacements rep_env template))))) input_templates)))]} @@ -4760,14 +4760,14 @@ (in (:as ..Text value)) _ - (failure ($_ text\composite - "Invalid target platform (must be a value of type Text): " (name\encoded identifier) - " : " (..code\encoded (..type_code type)))))) + (failure ($_ text#composite + "Invalid target platform (must be a value of type Text): " (name#encoded identifier) + " : " (..code#encoded (..type_code type)))))) _ - (failure ($_ text\composite - "Invalid target platform syntax: " (..code\encoded choice) - ..\n "Must be either a text literal or an identifier.")))) + (failure ($_ text#composite + "Invalid target platform syntax: " (..code#encoded choice) + \n "Must be either a text literal or an identifier.")))) (def: (target_pick target options default) (-> Text (List [Code Code]) (Maybe Code) (Meta (List Code))) @@ -4775,7 +4775,7 @@ {#End} (case default {#None} - (failure ($_ text\composite "No code for target platform: " target)) + (failure ($_ text#composite "No code for target platform: " target)) {#Some default} (in_meta (list default))) @@ -4783,14 +4783,14 @@ {#Item [key pick] options'} (do meta_monad [platform (..platform_name key)] - (if (text\= target platform) + (if (text#= target platform) (in_meta (list pick)) (target_pick target options' default))))) (def: (pairs' tokens) (-> (List Code) (Maybe (List [Code Code]))) (if (|> tokens - list\size + list#size (n/% 2) ("lux i64 =" 0)) {#Some (pairs tokens)} @@ -4830,9 +4830,9 @@ (^template [] [[ann { parts}] (do meta_monad - [=parts (monad\each meta_monad embedded_expansions parts)] - (in [(list\mix list\composite (list) (list\each product\left =parts)) - [ann { (list\each product\right =parts)}]]))]) + [=parts (monad#each meta_monad embedded_expansions parts)] + (in [(list#mix list#composite (list) (list#each product#left =parts)) + [ann { (list#each product#right =parts)}]]))]) ([#Form] [#Variant] [#Tuple]) @@ -4847,8 +4847,8 @@ [=raw (..embedded_expansions raw) .let [[labels labelled] =raw]] (in (list (` (with_expansions [(~+ (|> labels - (list\each (function (_ [label expansion]) (list label expansion))) - list\conjoint))] + (list#each (function (_ [label expansion]) (list label expansion))) + list#conjoint))] (~ labelled)))))) _ @@ -4871,16 +4871,16 @@ [(def: ( g!meta untemplated_pattern elems) (-> Code (-> Code (Meta Code)) (-> (List Code) (Meta Code))) - (case (list\reversed elems) + (case (list#reversed elems) {#Item [_ {#Form {#Item [[_ {#Identifier ["" "~+"]}] {#Item [spliced {#End}]}]}}] inits} (do meta_monad - [=inits (monad\each meta_monad untemplated_pattern (list\reversed inits))] + [=inits (monad#each meta_monad untemplated_pattern (list#reversed inits))] (in (` [(~ g!meta) { (~ (untemplated_list& spliced =inits))}]))) _ (do meta_monad - [=elems (monad\each meta_monad untemplated_pattern elems)] + [=elems (monad#each meta_monad untemplated_pattern elems)] (in (` [(~ g!meta) { (~ (untemplated_list =elems))}])))))] [.#Form untemplated_form] @@ -4944,12 +4944,12 @@ (macro: .public (:let tokens) (case tokens (^ (list [_ {#Tuple bindings}] bodyT)) - (if (multiple? 2 (list\size bindings)) + (if (multiple? 2 (list#size bindings)) (in_meta (list (` (..with_expansions [(~+ (|> bindings ..pairs - (list\each (function (_ [localT valueT]) + (list#each (function (_ [localT valueT]) (list localT (` (..as_is (~ valueT)))))) - (list\mix list\composite (list))))] + (list#mix list#composite (list))))] (~ bodyT))))) (..failure ":let requires an even number of parts")) @@ -4980,11 +4980,11 @@ (macro: .public (Interface tokens) (do meta_monad - [methods' (monad\each meta_monad expansion tokens)] - (case (everyP methodP (list\conjoint methods')) + [methods' (monad#each meta_monad expansion tokens)] + (case (everyP methodP (list#conjoint methods')) {#Some methods} - (in (list (` (..Tuple (~+ (list\each product\right methods)))) - (tuple$ (list\each (|>> product\left text$) methods)))) + (in (list (` (..Tuple (~+ (list#each product#right methods)))) + (tuple$ (list#each (|>> product#left text$) methods)))) {#None} (failure "Wrong syntax for Interface")))) diff --git a/stdlib/source/library/lux/abstract/apply.lux b/stdlib/source/library/lux/abstract/apply.lux index 366e2e750..80234f653 100644 --- a/stdlib/source/library/lux/abstract/apply.lux +++ b/stdlib/source/library/lux/abstract/apply.lux @@ -26,18 +26,18 @@ (def: (on fgx fgf) ... TODO: Switch from this version to the one below (in comments) ASAP. - (for [@.old (let [fgf' (\ f_apply on + (for [@.old (let [fgf' (# f_apply on fgf - (\ f_monad in (function (_ gf gx) (\ g_apply on gx gf))))] - (:expected (\ f_apply on (:expected fgx) (:expected fgf'))))] - (let [fgf' (\ f_apply on + (# f_monad in (function (_ gf gx) (# g_apply on gx gf))))] + (:expected (# f_apply on (:expected fgx) (:expected fgf'))))] + (let [fgf' (# f_apply on fgf - (\ f_monad in (function (_ gf gx) (\ g_apply on gx gf))))] - (\ f_apply on fgx fgf'))) - ... (let [applyF (\ f_apply on) - ... applyG (\ g_apply on)] + (# f_monad in (function (_ gf gx) (# g_apply on gx gf))))] + (# f_apply on fgx fgf'))) + ... (let [applyF (# f_apply on) + ... applyG (# g_apply on)] ... ($_ applyF ... fgf - ... (\ f_monad in applyG) + ... (# f_monad in applyG) ... fgx)) )) diff --git a/stdlib/source/library/lux/abstract/codec.lux b/stdlib/source/library/lux/abstract/codec.lux index 9a772accf..e3f987bd2 100644 --- a/stdlib/source/library/lux/abstract/codec.lux +++ b/stdlib/source/library/lux/abstract/codec.lux @@ -19,10 +19,10 @@ (-> (Codec c b) (Codec b a) (Codec c a))) (def: encoded - (|>> (\ ba_codec encoded) - (\ cb_codec encoded))) + (|>> (# ba_codec encoded) + (# cb_codec encoded))) (def: (decoded cy) (do try.monad - [by (\ cb_codec decoded cy)] - (\ ba_codec decoded by)))) + [by (# cb_codec decoded cy)] + (# ba_codec decoded by)))) diff --git a/stdlib/source/library/lux/abstract/comonad.lux b/stdlib/source/library/lux/abstract/comonad.lux index d649ea244..5f5279c79 100644 --- a/stdlib/source/library/lux/abstract/comonad.lux +++ b/stdlib/source/library/lux/abstract/comonad.lux @@ -3,7 +3,7 @@ [lux "*" [data [collection - ["[0]" list ("[1]\[0]" mix)]]] + ["[0]" list ("[1]#[0]" mix)]]] [math [number ["n" nat]]] @@ -42,7 +42,7 @@ g!_ (identifier "_") g!each (identifier "each") g!disjoint (identifier "disjoint") - body' (list\mix (: (-> [Code Code] Code Code) + body' (list#mix (: (-> [Code Code] Code Code) (function (_ binding body') (with_expansions [ (` (|> (~ value) (~ g!disjoint) ((~ g!each) (function ((~ g!_) (~ var)) (~ body')))))] (let [[var value] binding] diff --git a/stdlib/source/library/lux/abstract/comonad/cofree.lux b/stdlib/source/library/lux/abstract/comonad/cofree.lux index a711f60f1..1f56ba91e 100644 --- a/stdlib/source/library/lux/abstract/comonad/cofree.lux +++ b/stdlib/source/library/lux/abstract/comonad/cofree.lux @@ -12,7 +12,7 @@ (All (_ F) (-> (Functor F) (Functor (CoFree F)))) (def: (each f [head tail]) - [(f head) (\ dsl each (each f) tail)])) + [(f head) (# dsl each (each f) tail)])) (implementation: .public (comonad dsl) (All (_ F) (-> (Functor F) (CoMonad (CoFree F)))) @@ -24,4 +24,4 @@ (def: (disjoint [head tail]) [[head tail] - (\ dsl each disjoint tail)])) + (# dsl each disjoint tail)])) diff --git a/stdlib/source/library/lux/abstract/equivalence.lux b/stdlib/source/library/lux/abstract/equivalence.lux index 28dd71ce1..e73f6dd6d 100644 --- a/stdlib/source/library/lux/abstract/equivalence.lux +++ b/stdlib/source/library/lux/abstract/equivalence.lux @@ -23,4 +23,4 @@ (def: (each f equivalence) (implementation (def: (= reference sample) - (\ equivalence = (f reference) (f sample)))))) + (# equivalence = (f reference) (f sample)))))) diff --git a/stdlib/source/library/lux/abstract/functor.lux b/stdlib/source/library/lux/abstract/functor.lux index 36aab9aeb..2789755ba 100644 --- a/stdlib/source/library/lux/abstract/functor.lux +++ b/stdlib/source/library/lux/abstract/functor.lux @@ -15,32 +15,32 @@ (type: .public (Or f g) (All (_ a) (.Or (f a) (g a)))) -(def: .public (sum (^open "f\[0]") (^open "g\[0]")) +(def: .public (sum (^open "f#[0]") (^open "g#[0]")) (All (_ F G) (-> (Functor F) (Functor G) (Functor (..Or F G)))) (implementation (def: (each f fa|ga) (case fa|ga {.#Left fa} - {.#Left (f\each f fa)} + {.#Left (f#each f fa)} {.#Right ga} - {.#Right (g\each f ga)})))) + {.#Right (g#each f ga)})))) (type: .public (And f g) (All (_ a) (.And (f a) (g a)))) -(def: .public (product (^open "f\[0]") (^open "g\[0]")) +(def: .public (product (^open "f#[0]") (^open "g#[0]")) (All (_ F G) (-> (Functor F) (Functor G) (Functor (..And F G)))) (implementation (def: (each f [fa ga]) - [(f\each f fa) - (g\each f ga)]))) + [(f#each f fa) + (g#each f ga)]))) (type: .public (Then f g) (All (_ a) (f (g a)))) -(def: .public (composite (^open "f\[0]") (^open "g\[0]")) +(def: .public (composite (^open "f#[0]") (^open "g#[0]")) (All (_ F G) (-> (Functor F) (Functor G) (Functor (..Then F G)))) (implementation (def: (each f fga) - (f\each (g\each f) fga)))) + (f#each (g#each f) fga)))) diff --git a/stdlib/source/library/lux/abstract/hash.lux b/stdlib/source/library/lux/abstract/hash.lux index 5b753b484..1c05d022e 100644 --- a/stdlib/source/library/lux/abstract/hash.lux +++ b/stdlib/source/library/lux/abstract/hash.lux @@ -19,8 +19,8 @@ (def: (each f super) (implementation (def: &equivalence - (\ equivalence.functor each f - (\ super &equivalence))) + (# equivalence.functor each f + (# super &equivalence))) (def: hash - (|>> f (\ super hash)))))) + (|>> f (# super hash)))))) diff --git a/stdlib/source/library/lux/abstract/interval.lux b/stdlib/source/library/lux/abstract/interval.lux index a6337b770..1e9ea40de 100644 --- a/stdlib/source/library/lux/abstract/interval.lux +++ b/stdlib/source/library/lux/abstract/interval.lux @@ -35,28 +35,28 @@ (template [ ] [(def: .public ( interval) (All (_ a) (-> (Interval a) Bit)) - (let [(^open ",\[0]") interval] - ( ,\bottom ,\top)))] + (let [(^open ",#[0]") interval] + ( ,#bottom ,#top)))] - [inner? (order.> ,\&order)] - [outer? ,\<] - [singleton? ,\=] + [inner? (order.> ,#&order)] + [outer? ,#<] + [singleton? ,#=] ) (def: .public (within? interval elem) (All (_ a) (-> (Interval a) a Bit)) - (let [(^open ",\[0]") interval] + (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) - (,\= ,\top elem))))) + (and (,#= ,#bottom elem) + (,#= ,#top elem))))) (template [ ] [(def: .public ( elem interval) @@ -77,29 +77,29 @@ (All (_ a) (-> (Interval a) (Interval a) (Interval a))) (def: &enum (value@ &enum right)) - (def: bottom (order.min (\ right &order) (\ left bottom) (\ right bottom))) - (def: top (order.max (\ right &order) (\ left top) (\ right top)))) + (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 (value@ &enum right)) - (def: bottom (order.max (\ right &order) (\ left bottom) (\ right bottom))) - (def: top (order.min (\ right &order) (\ left top) (\ right top)))) + (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 (value@ &enum interval)) - (def: bottom (\ interval succ (\ interval top))) - (def: top (\ interval pred (\ interval bottom)))) + (def: bottom (# interval succ (# interval top))) + (def: top (# interval pred (# interval bottom)))) (def: .public (precedes? reference sample) (All (_ a) (-> (Interval a) (Interval a) Bit)) (let [(^open "[0]") reference - limit (\ reference bottom)] - (and (< limit (\ sample bottom)) - (< limit (\ sample top))))) + limit (# reference bottom)] + (and (< limit (# sample bottom)) + (< limit (# sample top))))) (def: .public (succeeds? reference sample) (All (_ a) (-> (Interval a) (Interval a) Bit)) @@ -108,20 +108,20 @@ (template [ ] [(def: .public ( reference sample) (All (_ a) (-> a (Interval a) Bit)) - (let [(^open ",\[0]") sample] - (and ( reference ,\bottom) - ( reference ,\top))))] + (let [(^open ",#[0]") sample] + (and ( reference ,#bottom) + ( reference ,#top))))] - [before? ,\<] - [after? (order.> ,\&order)] + [before? ,#<] + [after? (order.> ,#&order)] ) (def: .public (meets? reference sample) (All (_ a) (-> (Interval a) (Interval a) Bit)) - (let [(^open ",\[0]") reference - limit (\ reference bottom)] - (and (,\= limit (\ sample top)) - (order.<= ,\&order limit (\ sample bottom))))) + (let [(^open ",#[0]") reference + limit (# reference bottom)] + (and (,#= limit (# sample top)) + (order.<= ,#&order limit (# sample bottom))))) (def: .public (touches? reference sample) (All (_ a) (-> (Interval a) (Interval a) Bit)) @@ -131,50 +131,50 @@ (template [ ] [(def: .public ( reference sample) (All (_ a) (-> (Interval a) (Interval a) Bit)) - (let [(^open ",\[0]") reference] - (and (,\= (\ reference ) - (\ sample )) - ( ,\&order - (\ reference ) - (\ sample )))))] - - [starts? ,\bottom order.<= ,\top] - [finishes? ,\top order.>= ,\bottom] + (let [(^open ",#[0]") reference] + (and (,#= (# reference ) + (# sample )) + ( ,#&order + (# reference ) + (# sample )))))] + + [starts? ,#bottom order.<= ,#top] + [finishes? ,#top order.>= ,#bottom] ) (implementation: .public equivalence (All (_ a) (Equivalence (Interval a))) (def: (= reference sample) - (let [(^open ",\[0]") reference] - (and (,\= ,\bottom (\ sample bottom)) - (,\= ,\top (\ sample top)))))) + (let [(^open ",#[0]") reference] + (and (,#= ,#bottom (# sample bottom)) + (,#= ,#top (# sample top)))))) (def: .public (nested? reference sample) (All (_ a) (-> (Interval a) (Interval a) Bit)) (cond (or (singleton? sample) (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)))) + (let [(^open ",#[0]") reference] + (and (order.>= ,#&order (# reference bottom) (# sample bottom)) + (order.<= ,#&order (# reference top) (# sample top)))) (or (singleton? reference) (and (inner? reference) (outer? sample))) #0 ... (and (outer? reference) (inner? sample)) - (let [(^open ",\[0]") reference] - (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))))) + (let [(^open ",#[0]") reference] + (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))))) )) (def: .public (overlaps? reference sample) (All (_ a) (-> (Interval a) (Interval a) Bit)) - (let [(^open ",\[0]") reference] - (and (not (\ ..equivalence = reference sample)) + (let [(^open ",#[0]") reference] + (and (not (# ..equivalence = reference sample)) (cond (singleton? sample) #0 @@ -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/mix.lux b/stdlib/source/library/lux/abstract/mix.lux index 53e6fbcf8..260d8fff1 100644 --- a/stdlib/source/library/lux/abstract/mix.lux +++ b/stdlib/source/library/lux/abstract/mix.lux @@ -13,5 +13,5 @@ (def: .public (with_monoid monoid mix value) (All (_ F a) (-> (Monoid a) (Mix F) (F a) a)) - (let [(^open "/\[0]") monoid] - (mix /\composite /\identity value))) + (let [(^open "/#[0]") monoid] + (mix /#composite /#identity value))) diff --git a/stdlib/source/library/lux/abstract/monad.lux b/stdlib/source/library/lux/abstract/monad.lux index 2aca8a09a..1a95fb139 100644 --- a/stdlib/source/library/lux/abstract/monad.lux +++ b/stdlib/source/library/lux/abstract/monad.lux @@ -6,7 +6,7 @@ [// [functor {"+" [Functor]}]]) -(def: (list\mix f init xs) +(def: (list#mix f init xs) (All (_ a b) (-> (-> b a a) a (List b) a)) (case xs @@ -14,9 +14,9 @@ init {.#Item x xs'} - (list\mix f (f x init) xs'))) + (list#mix f (f x init) xs'))) -(def: (list\size xs) +(def: (list#size xs) (All (_ a) (-> (List a) Nat)) (loop [counter 0 xs xs] @@ -30,7 +30,7 @@ (def: (reversed xs) (All (_ a) (-> (List a) (List a))) - (list\mix (function (_ head tail) {.#Item head tail}) + (list#mix (function (_ head tail) {.#Item head tail}) {.#End} xs)) @@ -66,14 +66,14 @@ _ {.#None})) {.#Some [?name monad bindings body]} - (if (|> bindings list\size .int ("lux i64 %" +2) ("lux i64 =" +0)) + (if (|> bindings list#size .int ("lux i64 %" +2) ("lux i64 =" +0)) (let [[module short] (name_of ..do) identifier (: (-> Text Code) (|>> ($_ "lux text concat" module " " short " ") [""] {.#Identifier} [location.dummy])) g!_ (identifier "_") g!each (identifier "each") g!conjoint (identifier "conjoint") - body' (list\mix (: (-> [Code Code] Code Code) + body' (list#mix (: (-> [Code Code] Code Code) (function (_ binding body') (with_expansions [ (` (|> (~ value) ((~ g!each) (function ((~ g!_) (~ var)) (~ body'))) (~ g!conjoint)))] (let [[var value] binding] @@ -110,60 +110,60 @@ (All (_ ! a b) (-> (Monad !) (-> a (! b)) (-> (! a) (! b)))) - (|>> (\ monad each f) - (\ monad conjoint))) + (|>> (# monad each f) + (# monad conjoint))) (def: .public (all monad) (All (_ ! a) (-> (Monad !) (List (! a)) (! (List a)))) - (let [(^open "!\[0]") monad] + (let [(^open "!#[0]") monad] (function (recur xs) (case xs {.#End} - (!\in {.#End}) + (!#in {.#End}) {.#Item x xs'} (|> x - (!\each (function (_ _x) - (!\each (|>> {.#Item _x}) (recur xs')))) - !\conjoint))))) + (!#each (function (_ _x) + (!#each (|>> {.#Item _x}) (recur xs')))) + !#conjoint))))) (def: .public (each monad f) (All (_ M a b) (-> (Monad M) (-> a (M b)) (List a) (M (List b)))) - (let [(^open "!\[0]") monad] + (let [(^open "!#[0]") monad] (function (recur xs) (case xs {.#End} - (!\in {.#End}) + (!#in {.#End}) {.#Item x xs'} (|> (f x) - (!\each (function (_ _x) - (!\each (|>> {.#Item _x}) (recur xs')))) - !\conjoint))))) + (!#each (function (_ _x) + (!#each (|>> {.#Item _x}) (recur xs')))) + !#conjoint))))) (def: .public (only monad f) (All (_ ! a b) (-> (Monad !) (-> a (! Bit)) (List a) (! (List a)))) - (let [(^open "!\[0]") monad] + (let [(^open "!#[0]") monad] (function (recur xs) (case xs {.#End} - (!\in {.#End}) + (!#in {.#End}) {.#Item head xs'} (|> (f head) - (!\each (function (_ verdict) - (!\each (function (_ tail) + (!#each (function (_ verdict) + (!#each (function (_ tail) (if verdict {.#Item head tail} tail)) (recur xs')))) - !\conjoint))))) + !#conjoint))))) (def: .public (mix monad f init xs) (All (_ M a b) @@ -171,7 +171,7 @@ (M a))) (case xs {.#End} - (\ monad in init) + (# monad in init) {.#Item x xs'} (do monad diff --git a/stdlib/source/library/lux/abstract/monad/free.lux b/stdlib/source/library/lux/abstract/monad/free.lux index 04718ceb8..c3f544604 100644 --- a/stdlib/source/library/lux/abstract/monad/free.lux +++ b/stdlib/source/library/lux/abstract/monad/free.lux @@ -20,7 +20,7 @@ {#Pure (f a)} {#Effect value} - {#Effect (\ dsl each (each f) value)}))) + {#Effect (# dsl each (each f) value)}))) (implementation: .public (apply dsl) (All (_ F) (-> (Functor F) (Apply (Free F)))) @@ -34,12 +34,12 @@ {#Pure (f a)} [{#Pure f} {#Effect fa}] - {#Effect (\ dsl each - (\ (..functor dsl) each f) + {#Effect (# dsl each + (# (..functor dsl) each f) fa)} [{#Effect ff} _] - {#Effect (\ dsl each (on ea) ff)} + {#Effect (# dsl each (on ea) ff)} ))) (implementation: .public (monad dsl) @@ -61,7 +61,7 @@ {#Effect fa}) {#Effect fefa} - {#Effect (\ dsl each - (\ (monad dsl) conjoint) + {#Effect (# dsl each + (# (monad dsl) conjoint) fefa)} ))) diff --git a/stdlib/source/library/lux/abstract/monad/indexed.lux b/stdlib/source/library/lux/abstract/monad/indexed.lux index 8a6b6818b..a1daf17fc 100644 --- a/stdlib/source/library/lux/abstract/monad/indexed.lux +++ b/stdlib/source/library/lux/abstract/monad/indexed.lux @@ -6,7 +6,7 @@ ["<[0]>" code {"+" [Parser]}]]] [data [collection - ["[0]" list ("[1]\[0]" functor mix)]]] + ["[0]" list ("[1]#[0]" functor mix)]]] ["[0]" macro [syntax {"+" [syntax:]}] ["[0]" code]]]] @@ -55,17 +55,17 @@ (def: named_monad (Parser [(Maybe Text) Code]) - (<>.either (.tuple (<>.and (\ <>.monad each (|>> {.#Some}) + (<>.either (.tuple (<>.and (# <>.monad each (|>> {.#Some}) .local_identifier) .any)) - (\ <>.monad each (|>> [{.#None}]) + (# <>.monad each (|>> [{.#None}]) .any))) (syntax: .public (do [[?name monad] ..named_monad context (.tuple (<>.some context)) expression .any]) (macro.with_identifiers [g!_ g!then] - (let [body (list\mix (function (_ context next) + (let [body (list#mix (function (_ context next) (case context {#Macro macro parameter} (` ((~ (code.identifier macro)) diff --git a/stdlib/source/library/lux/abstract/monoid.lux b/stdlib/source/library/lux/abstract/monoid.lux index 36b2fe502..f5ffdcd65 100644 --- a/stdlib/source/library/lux/abstract/monoid.lux +++ b/stdlib/source/library/lux/abstract/monoid.lux @@ -13,8 +13,9 @@ (All (_ l r) (-> (Monoid l) (Monoid r) (Monoid [l r]))) (implementation (def: identity - [(\ left identity) (\ right identity)]) + [(# left identity) + (# right identity)]) (def: (composite [lL rL] [lR rR]) - [(\ left composite lL lR) - (\ right composite rL rR)]))) + [(# left composite lL lR) + (# right composite rL rR)]))) diff --git a/stdlib/source/library/lux/abstract/order.lux b/stdlib/source/library/lux/abstract/order.lux index 878a167f5..400801fcd 100644 --- a/stdlib/source/library/lux/abstract/order.lux +++ b/stdlib/source/library/lux/abstract/order.lux @@ -21,28 +21,28 @@ (def: .public (<= order parameter subject) Comparison - (or (\ order < parameter subject) - (\ order = parameter subject))) + (or (# order < parameter subject) + (# order = parameter subject))) (def: .public (> order parameter subject) Comparison - (\ order < subject parameter)) + (# order < subject parameter)) (def: .public (>= order parameter subject) Comparison - (or (\ order < subject parameter) - (\ order = subject parameter))) + (or (# order < subject parameter) + (# order = subject parameter))) (type: .public (Choice a) (-> (Order a) a a a)) (def: .public (min order x y) Choice - (if (\ order < y x) x y)) + (if (# order < y x) x y)) (def: .public (max order x y) Choice - (if (\ order < y x) y x)) + (if (# order < y x) y x)) (implementation: .public functor (contravariant.Functor Order) @@ -50,7 +50,7 @@ (def: (each f order) (implementation (def: &equivalence - (\ equivalence.functor each f (\ order &equivalence))) + (# equivalence.functor each f (# order &equivalence))) (def: (< reference sample) - (\ order < (f reference) (f sample)))))) + (# order < (f reference) (f sample)))))) diff --git a/stdlib/source/library/lux/control/concatenative.lux b/stdlib/source/library/lux/control/concatenative.lux index 4d377e5c5..289b5f789 100644 --- a/stdlib/source/library/lux/control/concatenative.lux +++ b/stdlib/source/library/lux/control/concatenative.lux @@ -5,12 +5,12 @@ [abstract ["[0]" monad]] [control - ["[0]" maybe ("[1]\[0]" monad)]] + ["[0]" maybe ("[1]#[0]" monad)]] [data ["[0]" text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" mix functor)]]] + ["[0]" list ("[1]#[0]" mix functor)]]] ["[0]" macro {"+" [with_identifiers]} ["[0]" code] ["[0]" template] @@ -23,7 +23,7 @@ ["r" rev] ["f" frac]]]]] [// - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" code {"+" [Parser]}]]]) (type: Alias @@ -52,12 +52,12 @@ (Parser Stack) (<>.either (<>.and (<>.maybe bottom^) ..top^) - (<>.and (<>\each (|>> {.#Some}) bottom^) - (<>\in (list))))) + (<>.and (<>#each (|>> {.#Some}) bottom^) + (<>#in (list))))) (def: (stack_mix tops bottom) (-> (List Code) Code Code) - (list\mix (function (_ top bottom) + (list#mix (function (_ top bottom) (` [(~ bottom) (~ top)])) bottom tops)) @@ -72,16 +72,16 @@ _ (meta.failure (format "Cannot expand to more than a single AST/Code node:" text.new_line - (|> expansion (list\each %.code) (text.interposed " "))))))) + (|> expansion (list#each %.code) (text.interposed " "))))))) (def: signature^ (Parser [(List Alias) Stack Stack]) (<>.either ($_ <>.and aliases^ stack^ stack^) - ($_ <>.and (<>\in (list)) stack^ stack^))) + ($_ <>.and (<>#in (list)) stack^ stack^))) (syntax: .public (=> [[aliases inputs outputs] signature^]) (let [de_alias (function (_ aliased) - (list\mix (function (_ [from to] pre) + (list#mix (function (_ [from to] pre) (code.replaced (code.local_identifier from) to pre)) aliased aliases))] diff --git a/stdlib/source/library/lux/control/concurrency/actor.lux b/stdlib/source/library/lux/control/concurrency/actor.lux index 64ab1c283..06ada7642 100644 --- a/stdlib/source/library/lux/control/concurrency/actor.lux +++ b/stdlib/source/library/lux/control/concurrency/actor.lux @@ -10,7 +10,7 @@ ["[0]" try {"+" [Try]}] ["[0]" exception {"+" [exception:]}] ["[0]" io {"+" [IO io]}] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" code {"+" [Parser]}]]] [data ["[0]" bit] @@ -18,7 +18,7 @@ [text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" monoid monad)]]] + ["[0]" list ("[1]#[0]" monoid monad)]]] ["[0]" macro {"+" [with_identifiers]} ["[0]" code] [syntax {"+" [syntax:]} @@ -32,7 +32,7 @@ ["[0]" abstract {"+" [abstract: :representation :abstraction]}]]]] [// ["[0]" atom {"+" [Atom atom]}] - ["[0]" async {"+" [Async Resolver]} ("[1]\[0]" monad)] + ["[0]" async {"+" [Async Resolver]} ("[1]#[0]" monad)] ["[0]" frp {"+" [Channel]}]]) (exception: .public poisoned) @@ -55,7 +55,7 @@ [current (async.value read)] (case current {.#Some [head tail]} - (\ ! each (|>> {.#Item head}) + (# ! each (|>> {.#Item head}) (pending tail)) {.#None} @@ -111,7 +111,7 @@ (let [[obituary _] (value@ #obituary (:representation actor))] (|> obituary async.value - (\ io.functor each + (# io.functor each (|>> (case> {.#None} bit.yes @@ -213,7 +213,7 @@ (def: actor_decl^ (Parser [Text (List Text)]) (<>.either (.form (<>.and .local_identifier (<>.some .local_identifier))) - (<>.and .local_identifier (\ <>.monad in (list))))) + (<>.and .local_identifier (# <>.monad in (list))))) (type: On_MailC [[Text Text Text] Code]) @@ -263,7 +263,7 @@ (do meta.monad [g!type (macro.identifier (format name "_abstract_type")) .let [g!actor (code.local_identifier name) - g!vars (list\each code.local_identifier vars)]] + g!vars (list#each code.local_identifier vars)]] (in (list (` ((~! abstract:) (~ export_policy) ((~ g!type) (~+ g!vars)) (~ state_type) @@ -305,7 +305,7 @@ (def: reference^ (Parser [Name (List Text)]) (<>.either (.form (<>.and .identifier (<>.some .local_identifier))) - (<>.and .identifier (\ <>.monad in (list))))) + (<>.and .identifier (# <>.monad in (list))))) (def: messageP (Parser [Code Signature Code Code]) @@ -322,9 +322,9 @@ .let [g!type (code.local_identifier (value@ abstract.#name actor_scope)) g!message (code.local_identifier (value@ #name signature)) g!actor_vars (value@ abstract.#type_vars actor_scope) - g!all_vars (|> signature (value@ #vars) (list\each code.local_identifier) (list\composite g!actor_vars)) - g!inputsC (|> signature (value@ #inputs) (list\each product.left)) - g!inputsT (|> signature (value@ #inputs) (list\each product.right)) + g!all_vars (|> signature (value@ #vars) (list#each code.local_identifier) (list#composite g!actor_vars)) + g!inputsC (|> signature (value@ #inputs) (list#each product.left)) + g!inputsT (|> signature (value@ #inputs) (list#each product.right)) g!state (|> signature (value@ #state) code.local_identifier) g!self (|> signature (value@ #self) code.local_identifier)]] (in (list (` (def: (~ export_policy) ((~ g!message) (~+ g!inputsC)) @@ -360,6 +360,6 @@ (if continue? (|> actor (..mail! (action event stop)) - (\ ! each try.maybe)) + (# ! each try.maybe)) (in {.#None})))) channel))) diff --git a/stdlib/source/library/lux/control/concurrency/async.lux b/stdlib/source/library/lux/control/concurrency/async.lux index 0342da425..1f3db5365 100644 --- a/stdlib/source/library/lux/control/concurrency/async.lux +++ b/stdlib/source/library/lux/control/concurrency/async.lux @@ -58,7 +58,7 @@ (All (_ a) (-> (Async a) (IO (Maybe a)))) (|>> :representation atom.read! - (\ io.functor each product.left))) + (# io.functor each product.left))) (def: .public (upon! f async) (All (_ a) (-> (-> a (IO Any)) (Async a) (IO Any))) @@ -81,7 +81,7 @@ (def: .public resolved? (All (_ a) (-> (Async a) (IO Bit))) (|>> ..value - (\ io.functor each + (# io.functor each (|>> (case> {.#None} #0 diff --git a/stdlib/source/library/lux/control/concurrency/atom.lux b/stdlib/source/library/lux/control/concurrency/atom.lux index 6241c90c7..47e771a4e 100644 --- a/stdlib/source/library/lux/control/concurrency/atom.lux +++ b/stdlib/source/library/lux/control/concurrency/atom.lux @@ -7,7 +7,7 @@ [monad {"+" [do]}]] [control ["[0]" function] - ["[0]" io {"+" [IO]} ("[1]\[0]" functor)]] + ["[0]" io {"+" [IO]} ("[1]#[0]" functor)]] [data ["[0]" product] [collection @@ -93,4 +93,4 @@ (All (_ a) (-> a (Atom a) (IO a))) (|> atom (..update! (function.constant value)) - (io\each product.left))) + (io#each product.left))) diff --git a/stdlib/source/library/lux/control/concurrency/frp.lux b/stdlib/source/library/lux/control/concurrency/frp.lux index ebf3728ca..3c731d30f 100644 --- a/stdlib/source/library/lux/control/concurrency/frp.lux +++ b/stdlib/source/library/lux/control/concurrency/frp.lux @@ -7,7 +7,7 @@ [apply {"+" [Apply]}] ["[0]" monad {"+" [Monad do]}]] [control - ["[0]" maybe ("[1]\[0]" functor)] + ["[0]" maybe ("[1]#[0]" functor)] ["[0]" try {"+" [Try]}] ["[0]" exception {"+" [exception:]}] ["[0]" io {"+" [IO io]}]] @@ -15,7 +15,7 @@ abstract]]] [// ["[0]" atom {"+" [Atom]}] - ["[0]" async {"+" [Async]} ("[1]\[0]" functor)]]) + ["[0]" async {"+" [Async]} ("[1]#[0]" functor)]]) (type: .public (Channel a) (Async (Maybe [a (Channel a)]))) @@ -87,8 +87,8 @@ (Functor Channel) (def: (each f) - (async\each - (maybe\each + (async#each + (maybe#each (function (_ [head tail]) [(f head) (each f tail)]))))) @@ -136,7 +136,7 @@ (case ?ma {.#Some [a ma']} (exec - (io.run! (\ sink feed a)) + (io.run! (# sink feed a)) (recur ma')) {.#None} @@ -144,7 +144,7 @@ (recur mma')) {.#None} - (in (: Any (io.run! (\ sink close)))))))) + (in (: Any (io.run! (# sink close)))))))) output)))) (type: .public (Subscriber a) @@ -186,7 +186,7 @@ (def: .public (of_async async) (All (_ a) (-> (Async a) (Channel a))) - (async\each (function (_ value) + (async#each (function (_ value) {.#Some [value ..empty]}) async)) @@ -228,7 +228,7 @@ (io.run! (loop [_ []] (do io.monad [value action - _ (\ sink feed value)] + _ (# sink feed value)] (async.upon! recur (async.delay milli_seconds))))) [output sink]))) @@ -253,7 +253,7 @@ [item channel] (case item {.#Some [head tail]} - (if (\ equivalence = previous head) + (if (# equivalence = previous head) (distinct' equivalence previous tail) (in {.#Some [head (distinct' equivalence head tail)]})) @@ -277,7 +277,7 @@ [item channel] (case item {.#Some [head tail]} - (\ ! each (|>> {.#Item head}) + (# ! each (|>> {.#Item head}) (list tail)) {.#None} diff --git a/stdlib/source/library/lux/control/concurrency/semaphore.lux b/stdlib/source/library/lux/control/concurrency/semaphore.lux index 268cf3736..c74588eaf 100644 --- a/stdlib/source/library/lux/control/concurrency/semaphore.lux +++ b/stdlib/source/library/lux/control/concurrency/semaphore.lux @@ -34,7 +34,7 @@ (Atom State) (def: most_positions_possible - (.nat (\ i.interval top))) + (.nat (# i.interval top))) (def: .public (semaphore initial_open_positions) (-> Nat Semaphore) @@ -145,7 +145,7 @@ (do async.monad [outcome (..signal! turnstile)] (recur (++ step))) - (\ async.monad in [])))) + (# async.monad in [])))) (template [ ] [(def: ( (^:representation barrier)) diff --git a/stdlib/source/library/lux/control/concurrency/stm.lux b/stdlib/source/library/lux/control/concurrency/stm.lux index d2355b689..c2a8b1ecc 100644 --- a/stdlib/source/library/lux/control/concurrency/stm.lux +++ b/stdlib/source/library/lux/control/concurrency/stm.lux @@ -52,7 +52,7 @@ (do ! [_ (monad.each ! (function (_ sink) (do ! - [result (\ sink feed new_value)] + [result (# sink feed new_value)] (case result {try.#Success _} (in []) @@ -91,7 +91,7 @@ (list.example (function (_ [_var _original _current]) (same? (:as (Var Any) var) (:as (Var Any) _var)))) - (\ maybe.monad each (function (_ [_var _original _current]) + (# maybe.monad each (function (_ [_var _original _current]) _current)) :expected)) diff --git a/stdlib/source/library/lux/control/concurrency/thread.lux b/stdlib/source/library/lux/control/concurrency/thread.lux index 5696bcdc9..9445c2c7a 100644 --- a/stdlib/source/library/lux/control/concurrency/thread.lux +++ b/stdlib/source/library/lux/control/concurrency/thread.lux @@ -128,7 +128,7 @@ ... Default (do [! io.monad] - [now (\ ! each (|>> instant.millis .nat) instant.now) + [now (# ! each (|>> instant.millis .nat) instant.now) _ (atom.update! (|>> {.#Item [#creation now #delay milli_seconds #action action]}) @@ -157,7 +157,7 @@ _ (do ! - [now (\ ! each (|>> instant.millis .nat) instant.now) + [now (# ! each (|>> instant.millis .nat) instant.now) .let [[ready pending] (list.partition (function (_ thread) (|> (value@ #creation thread) (n.+ (value@ #delay thread)) diff --git a/stdlib/source/library/lux/control/exception.lux b/stdlib/source/library/lux/control/exception.lux index 455318e39..bf7cabd0e 100644 --- a/stdlib/source/library/lux/control/exception.lux +++ b/stdlib/source/library/lux/control/exception.lux @@ -7,13 +7,13 @@ [monad {"+" [do]}]] [control ["[0]" maybe] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" code {"+" [Parser]}]]] [data ["[0]" product] - ["[0]" text ("[1]\[0]" monoid)] + ["[0]" text ("[1]#[0]" monoid)] [collection - ["[0]" list ("[1]\[0]" functor mix)]]] + ["[0]" list ("[1]#[0]" functor mix)]]] [macro ["[0]" code] [syntax {"+" [syntax:]} @@ -22,7 +22,7 @@ ["|[1]_[0]|" variable]]]] [math [number - ["n" nat ("[1]\[0]" decimal)]]]]] + ["n" nat ("[1]#[0]" decimal)]]]]] [// ["//" try {"+" [Try]}]]) @@ -82,34 +82,34 @@ ($_ <>.and (<>.else (list) (.tuple (<>.some |type_variable|.parser))) (<>.either (.form (<>.and .local_identifier |input|.parser)) - (<>.and .local_identifier (<>\in (list)))) + (<>.and .local_identifier (<>#in (list)))) (<>.maybe .any) ))] ($_ <>.either (<>.and .any private) - (<>.and (<>\in (` .private)) private) + (<>.and (<>#in (` .private)) private) ))) (syntax: .public (exception: [[export_policy t_vars [name inputs] body] ..exception]) (macro.with_identifiers [g!_ g!descriptor] (do meta.monad [current_module meta.current_module_name - .let [descriptor ($_ text\composite "{" current_module "." name "}" text.new_line) + .let [descriptor ($_ text#composite "{" current_module "." name "}" text.new_line) g!self (code.local_identifier name)]] (in (list (` (def: (~ export_policy) (~ g!self) - (All ((~ g!_) (~+ (list\each |type_variable|.format t_vars))) - (..Exception [(~+ (list\each (value@ |input|.#type) inputs))])) + (All ((~ g!_) (~+ (list#each |type_variable|.format t_vars))) + (..Exception [(~+ (list#each (value@ |input|.#type) inputs))])) (let [(~ g!descriptor) (~ (code.text descriptor))] [..#label (~ g!descriptor) - ..#constructor (function ((~ g!self) [(~+ (list\each (value@ |input|.#binding) inputs))]) - ((~! text\composite) (~ g!descriptor) + ..#constructor (function ((~ g!self) [(~+ (list#each (value@ |input|.#binding) inputs))]) + ((~! text#composite) (~ g!descriptor) (~ (maybe.else (' "") body))))])))))))) (def: (report' entries) (-> (List [Text Text]) Text) (let [header_separator ": " - largest_header_size (list\mix (function (_ [header _] max) + largest_header_size (list#mix (function (_ [header _] max) (n.max (text.size header) max)) 0 entries) @@ -117,7 +117,7 @@ (list.repeated (n.+ (text.size header_separator) largest_header_size)) text.together - (text\composite text.new_line)) + (text#composite text.new_line)) on_entry (: (-> [Text Text] Text) (function (_ [header message]) (let [padding (|> " " @@ -126,29 +126,29 @@ text.together)] (|> message (text.replaced text.new_line on_new_line) - ($_ text\composite padding header header_separator)))))] + ($_ text#composite padding header header_separator)))))] (case entries {.#End} "" {.#Item head tail} - (list\mix (function (_ post pre) - ($_ text\composite pre text.new_line (on_entry post))) + (list#mix (function (_ post pre) + ($_ text#composite pre text.new_line (on_entry post))) (on_entry head) tail)))) (syntax: .public (report [entries (<>.many (.tuple (<>.and .any .any)))]) (in (list (` ((~! ..report') (list (~+ (|> entries - (list\each (function (_ [header message]) + (list#each (function (_ [header message]) (` [(~ header) (~ message)]))))))))))) (def: .public (listing format entries) (All (_ a) (-> (-> a Text) (List a) Text)) (|> entries - (list\mix (function (_ entry [index next]) + (list#mix (function (_ entry [index next]) [(++ index) - {.#Item [(n\encoded index) (format entry)] + {.#Item [(n#encoded index) (format entry)] next}]) [0 {.#End}]) product.right diff --git a/stdlib/source/library/lux/control/function/mutual.lux b/stdlib/source/library/lux/control/function/mutual.lux index 282779593..da5abe3b1 100644 --- a/stdlib/source/library/lux/control/function/mutual.lux +++ b/stdlib/source/library/lux/control/function/mutual.lux @@ -7,14 +7,14 @@ [control ["[0]" try {"+" [Try]}] ["[0]" exception {"+" [exception:]}] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" code {"+" [Parser]}]]] [data ["[0]" product] [text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" functor)] + ["[0]" list ("[1]#[0]" functor)] [dictionary ["[0]" plist {"+" [PList]}]]]] ["[0]" macro @@ -50,7 +50,7 @@ (<| (:as Macro) (: Macro') (function (_ parameters) - (\ meta.monad in (list (` (((~ g!self) (~ g!context)) (~+ parameters)))))))) + (# meta.monad in (list (` (((~ g!self) (~ g!context)) (~+ parameters)))))))) (syntax: .public (let [functions (.tuple (<>.some ..mutual)) body .any]) @@ -71,15 +71,15 @@ [here_name meta.current_module_name hidden_names (monad.each ! (//.constant (macro.identifier "mutual_function#")) functions) - .let [definitions (list\each (..mutual_definition hidden_names g!context) + .let [definitions (list#each (..mutual_definition hidden_names g!context) (list.zipped/2 hidden_names functions)) - context_types (list\each (function (_ mutual) + context_types (list#each (function (_ mutual) (` (-> (~ g!context) (~ (value@ #type mutual))))) functions) - user_names (list\each (|>> (value@ [#declaration declaration.#name]) code.local_identifier) + user_names (list#each (|>> (value@ [#declaration declaration.#name]) code.local_identifier) functions)] - g!pop (local.push (list\each (function (_ [g!name mutual]) + g!pop (local.push (list#each (function (_ [g!name mutual]) [[here_name (value@ [#declaration declaration.#name] mutual)] (..macro g!context g!name)]) (list.zipped/2 hidden_names @@ -88,7 +88,7 @@ [(~+ context_types)]) [(~+ definitions)]) [(~+ user_names)] (.let [[(~+ user_names)] (~ g!context)] - [(~+ (list\each (function (_ g!name) + [(~+ (list#each (function (_ g!name) (` ((~ g!name) (~ g!context)))) user_names))]) (~ g!output) (~ body)] @@ -103,7 +103,7 @@ (.def: definition (Parser Definition) (.tuple (<>.either (<>.and .any ..mutual) - (<>.and (<>\in (` .private)) ..mutual)))) + (<>.and (<>#in (` .private)) ..mutual)))) (syntax: .public (def: [functions (<>.many ..definition)]) (case functions @@ -123,30 +123,30 @@ [here_name meta.current_module_name hidden_names (monad.each ! (//.constant (macro.identifier "mutual_function#")) functions) - .let [definitions (list\each (..mutual_definition hidden_names g!context) + .let [definitions (list#each (..mutual_definition hidden_names g!context) (list.zipped/2 hidden_names - (list\each (value@ #mutual) functions))) - context_types (list\each (function (_ mutual) + (list#each (value@ #mutual) functions))) + context_types (list#each (function (_ mutual) (` (-> (~ g!context) (~ (value@ [#mutual #type] mutual))))) functions) - user_names (list\each (|>> (value@ [#mutual #declaration declaration.#name]) code.local_identifier) + user_names (list#each (|>> (value@ [#mutual #declaration declaration.#name]) code.local_identifier) functions)] - g!pop (local.push (list\each (function (_ [g!name mutual]) + g!pop (local.push (list#each (function (_ [g!name mutual]) [[here_name (value@ [#mutual #declaration declaration.#name] mutual)] (..macro g!context g!name)]) (list.zipped/2 hidden_names functions)))] (in (list& (` (.def: (~ g!context) - [(~+ (list\each (value@ [#mutual #type]) functions))] + [(~+ (list#each (value@ [#mutual #type]) functions))] (.let [(~ g!context) (: (Rec (~ g!context) [(~+ context_types)]) [(~+ definitions)]) [(~+ user_names)] (~ g!context)] - [(~+ (list\each (function (_ g!name) + [(~+ (list#each (function (_ g!name) (` ((~ g!name) (~ g!context)))) user_names))]))) g!pop - (list\each (function (_ mutual) + (list#each (function (_ mutual) (.let [g!name (|> mutual (value@ [#mutual #declaration declaration.#name]) code.local_identifier)] (` (.def: (~ (value@ #export_policy mutual)) diff --git a/stdlib/source/library/lux/control/lazy.lux b/stdlib/source/library/lux/control/lazy.lux index f827e65a3..a818b164c 100644 --- a/stdlib/source/library/lux/control/lazy.lux +++ b/stdlib/source/library/lux/control/lazy.lux @@ -42,12 +42,12 @@ (with_identifiers [g!_] (in (list (` ((~! ..lazy') (function ((~ g!_) (~ g!_)) (~ expression)))))))) -(implementation: .public (equivalence (^open "\[0]")) +(implementation: .public (equivalence (^open "_#[0]")) (All (_ a) (-> (Equivalence a) (Equivalence (Lazy a)))) (def: (= left right) - (\= (..value left) - (..value right)))) + (_#= (..value left) + (..value right)))) (implementation: .public functor (Functor Lazy) diff --git a/stdlib/source/library/lux/control/maybe.lux b/stdlib/source/library/lux/control/maybe.lux index 2deaa50d2..ce169c875 100644 --- a/stdlib/source/library/lux/control/maybe.lux +++ b/stdlib/source/library/lux/control/maybe.lux @@ -75,7 +75,7 @@ #1 [{.#Some x} {.#Some y}] - (\ super = x y) + (# super = x y) _ #0))) @@ -84,7 +84,7 @@ (All (_ a) (-> (Hash a) (Hash (Maybe a)))) (def: &equivalence - (..equivalence (\ super &equivalence))) + (..equivalence (# super &equivalence))) (def: (hash value) (case value @@ -92,7 +92,7 @@ 0 {.#Some value} - (\ super hash value)))) + (# super hash value)))) (implementation: .public (with monad) (All (_ M) (-> (Monad M) (Monad (All (_ a) (M (Maybe a)))))) @@ -101,7 +101,9 @@ (functor.composite (value@ monad.&functor monad) ..functor)) - (def: in (|>> (\ ..monad in) (\ monad in))) + (def: in + (|>> (# ..monad in) + (# monad in))) (def: (conjoint MmMma) (do monad @@ -115,7 +117,7 @@ (def: .public (lifted monad) (All (_ M a) (-> (Monad M) (-> (M a) (M (Maybe a))))) - (\ monad each (\ ..monad in))) + (# monad each (# ..monad in))) (macro: .public (else tokens state) (case tokens diff --git a/stdlib/source/library/lux/control/parser.lux b/stdlib/source/library/lux/control/parser.lux index 3d78dd546..775d0b4fd 100644 --- a/stdlib/source/library/lux/control/parser.lux +++ b/stdlib/source/library/lux/control/parser.lux @@ -11,7 +11,7 @@ [data ["[0]" product] [collection - ["[0]" list ("[1]\[0]" functor monoid)]]] + ["[0]" list ("[1]#[0]" functor monoid)]]] [math [number ["n" nat]]]]]) @@ -96,7 +96,7 @@ (-> (Parser s a) (Parser s b) (Parser s [a b]))) (do [! ..monad] [head first] - (\ ! each (|>> [head]) second))) + (# ! each (|>> [head]) second))) (def: .public (or left right) (All (_ s a b) @@ -134,7 +134,7 @@ {try.#Success [input (list)]} {try.#Success [input' head]} - (..result (\ ..monad each (|>> (list& head)) + (..result (# ..monad each (|>> (list& head)) (some parser)) input')))) @@ -143,35 +143,35 @@ (-> (Parser s a) (Parser s (List a)))) (|> (..some parser) (..and parser) - (\ ..monad each (|>> {.#Item})))) + (# ..monad each (|>> {.#Item})))) (def: .public (exactly amount parser) (All (_ s a) (-> Nat (Parser s a) (Parser s (List a)))) (case amount - 0 (\ ..monad in (list)) + 0 (# ..monad in (list)) _ (do [! ..monad] [x parser] (|> parser (exactly (-- amount)) - (\ ! each (|>> {.#Item x})))))) + (# ! each (|>> {.#Item x})))))) (def: .public (at_least amount parser) (All (_ s a) (-> Nat (Parser s a) (Parser s (List a)))) (do [! ..monad] [minimum (..exactly amount parser)] - (\ ! each (list\composite minimum) (..some parser)))) + (# ! each (list#composite minimum) (..some parser)))) (def: .public (at_most amount parser) (All (_ s a) (-> Nat (Parser s a) (Parser s (List a)))) (case amount - 0 (\ ..monad in (list)) + 0 (# ..monad in (list)) _ (function (_ input) (case (parser input) {try.#Failure msg} {try.#Success [input (list)]} {try.#Success [input' x]} - (..result (\ ..monad each (|>> {.#Item x}) + (..result (# ..monad each (|>> {.#Item x}) (at_most (-- amount) parser)) input'))))) @@ -181,7 +181,7 @@ [minimum (..exactly minimum parser)] (case additional 0 (in minimum) - _ (\ ! each (list\composite minimum) + _ (# ! each (list#composite minimum) (..at_most additional parser))))) (def: .public (separated_by separator parser) @@ -196,7 +196,7 @@ (|> parser (..and separator) ..some - (\ ! each (|>> (list\each product.right) {.#Item x})))))) + (# ! each (|>> (list#each product.right) {.#Item x})))))) (def: .public (not parser) (All (_ s a) (-> (Parser s a) (Parser s Any))) @@ -301,7 +301,7 @@ {try.#Failure error} {try.#Success [input' to_decode]} - (case (\ codec decoded to_decode) + (case (# codec decoded to_decode) {try.#Failure error} {try.#Failure error} diff --git a/stdlib/source/library/lux/control/parser/analysis.lux b/stdlib/source/library/lux/control/parser/analysis.lux index 03b29e3f3..8e16ad74f 100644 --- a/stdlib/source/library/lux/control/parser/analysis.lux +++ b/stdlib/source/library/lux/control/parser/analysis.lux @@ -12,7 +12,7 @@ ["[0]" text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [macro ["[0]" template]] [math @@ -36,7 +36,7 @@ (-> (List Analysis) Text) (format text.new_line "Remaining input: " (|> asts - (list\each /.%analysis) + (list#each /.%analysis) (text.interposed " ")))) (exception: .public (cannot_parse [input (List Analysis)]) @@ -103,7 +103,7 @@ (function (_ input) (case input (^ (list& ( actual) input')) - (if (\ = expected actual) + (if (# = expected actual) {try.#Success [input' []]} (exception.except ..cannot_parse input)) diff --git a/stdlib/source/library/lux/control/parser/binary.lux b/stdlib/source/library/lux/control/parser/binary.lux index c37298d24..0b60d49f7 100644 --- a/stdlib/source/library/lux/control/parser/binary.lux +++ b/stdlib/source/library/lux/control/parser/binary.lux @@ -24,7 +24,7 @@ [number ["n" nat] ["[0]" frac]]]]] - ["[0]" // ("[1]\[0]" monad)]) + ["[0]" // ("[1]#[0]" monad)]) (type: .public Offset Nat) @@ -100,7 +100,7 @@ (def: .public frac (Parser Frac) - (//\each frac.of_bits ..bits/64)) + (//#each frac.of_bits ..bits/64)) (exception: .public (invalid_tag [range Nat byte Nat]) @@ -115,7 +115,7 @@ (with_expansions [+' (template.spliced +)] (case flag (^template [ ] - [ (`` (\ ! each (|>> {(~~ (template.spliced ))}) ))]) + [ (`` (# ! each (|>> {(~~ (template.spliced ))}) ))]) (+') _ (//.lifted (exception.except ..invalid_tag [(template.amount [+]) flag])))))]) @@ -133,7 +133,7 @@ (def: .public any (Parser Any) - (//\in [])) + (//#in [])) (exception: .public (not_a_bit [value Nat]) (exception.report @@ -157,13 +157,13 @@ 0 {try.#Success [[offset binary] (/.empty 0)]} _ (|> binary (/.slice offset size) - (\ try.monad each (|>> [[(n.+ size offset) binary]])))))) + (# try.monad each (|>> [[(n.+ size offset) binary]])))))) (template [ ] [(`` (def: .public (Parser Binary) (do //.monad - [size (//\each .nat )] + [size (//#each .nat )] (..segment size))))] [08 binary/8 ..bits/8] @@ -177,7 +177,7 @@ (Parser Text) (do //.monad [utf8 ] - (//.lifted (\ utf8.codec decoded utf8)))))] + (//.lifted (# utf8.codec decoded utf8)))))] [08 utf8/8 ..binary/8] [16 utf8/16 ..binary/16] @@ -205,7 +205,7 @@ [value valueP] (recur (.++ index) (row.suffix value output))) - (//\in output)))))] + (//#in output)))))] [08 row/8 ..bits/8] [16 row/16 ..bits/16] diff --git a/stdlib/source/library/lux/control/parser/cli.lux b/stdlib/source/library/lux/control/parser/cli.lux index f68605f14..4ab6193e4 100644 --- a/stdlib/source/library/lux/control/parser/cli.lux +++ b/stdlib/source/library/lux/control/parser/cli.lux @@ -6,7 +6,7 @@ [control ["[0]" try {"+" [Try]}]] [data - ["[0]" text ("[1]\[0]" equivalence) + ["[0]" text ("[1]#[0]" equivalence) ["%" format {"+" [format]}]]]]] ["[0]" //]) @@ -50,7 +50,7 @@ (function (_ inputs) (do try.monad [[remaining raw] (any inputs)] - (if (text\= reference raw) + (if (text#= reference raw) (in [remaining []]) {try.#Failure (format "Missing token: '" reference "'")})))) diff --git a/stdlib/source/library/lux/control/parser/code.lux b/stdlib/source/library/lux/control/parser/code.lux index 4e31cb1b4..c29fb8419 100644 --- a/stdlib/source/library/lux/control/parser/code.lux +++ b/stdlib/source/library/lux/control/parser/code.lux @@ -7,12 +7,12 @@ ["[0]" try {"+" [Try]}]] [data ["[0]" bit] - ["[0]" text ("[1]\[0]" monoid)] + ["[0]" text ("[1]#[0]" monoid)] ["[0]" name] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [macro - ["[0]" code ("[1]\[0]" equivalence)]] + ["[0]" code ("[1]#[0]" equivalence)]] [math [number ["[0]" nat] @@ -32,9 +32,9 @@ (def: remaining_inputs (-> (List Code) Text) - (|>> (list\each code.format) + (|>> (list#each code.format) (text.interposed " ") - ($_ text\composite text.new_line "Remaining input: "))) + ($_ text#composite text.new_line "Remaining input: "))) (def: .public any (Parser Code) @@ -57,7 +57,7 @@ {try.#Success [tokens next]}))) (template [ ] - [(with_expansions [ (as_is {try.#Failure ($_ text\composite "Cannot parse " (remaining_inputs tokens))})] + [(with_expansions [ (as_is {try.#Failure ($_ text#composite "Cannot parse " (remaining_inputs tokens))})] (def: .public (Parser ) (function (_ tokens) @@ -73,7 +73,7 @@ (function (_ tokens) (case tokens {.#Item [[_ { actual}] tokens']} - (if (\ = expected actual) + (if (# = expected actual) {try.#Success [tokens' []]} ) @@ -94,16 +94,16 @@ (function (_ tokens) (case tokens {.#Item [token tokens']} - (if (code\= code token) + (if (code#= code token) {try.#Success [tokens' []]} - {try.#Failure ($_ text\composite "Expected a " (code.format code) " but instead got " (code.format token) + {try.#Failure ($_ text#composite "Expected a " (code.format code) " but instead got " (code.format token) (remaining_inputs tokens))}) _ {try.#Failure "There are no tokens to parse!"}))) (template [ ] - [(with_expansions [ (as_is {try.#Failure ($_ text\composite "Cannot parse " (remaining_inputs tokens))})] + [(with_expansions [ (as_is {try.#Failure ($_ text#composite "Cannot parse " (remaining_inputs tokens))})] (def: .public (Parser Text) (function (_ tokens) @@ -119,7 +119,7 @@ (function (_ tokens) (case tokens {.#Item [[_ { ["" actual]}] tokens']} - (if (\ = expected actual) + (if (# = expected actual) {try.#Success [tokens' []]} ) @@ -138,10 +138,10 @@ {.#Item [[_ { members}] tokens']} (case (p members) {try.#Success [{.#End} x]} {try.#Success [tokens' x]} - _ {try.#Failure ($_ text\composite "Parser was expected to fully consume " (remaining_inputs tokens))}) + _ {try.#Failure ($_ text#composite "Parser was expected to fully consume " (remaining_inputs tokens))}) _ - {try.#Failure ($_ text\composite "Cannot parse " (remaining_inputs tokens))})))] + {try.#Failure ($_ text#composite "Cannot parse " (remaining_inputs tokens))})))] [form .#Form "form"] [variant .#Variant "variant"] @@ -153,7 +153,7 @@ (function (_ tokens) (case tokens {.#End} {try.#Success [tokens []]} - _ {try.#Failure ($_ text\composite "Expected list of tokens to be empty!" (remaining_inputs tokens))}))) + _ {try.#Failure ($_ text#composite "Expected list of tokens to be empty!" (remaining_inputs tokens))}))) (def: .public end? (Parser Bit) @@ -175,9 +175,9 @@ _ {try.#Failure (|> unconsumed - (list\each code.format) + (list#each code.format) (text.interposed ", ") - (text\composite "Unconsumed inputs: "))}))) + (text#composite "Unconsumed inputs: "))}))) (def: .public (local inputs parser) (All (_ a) (-> (List Code) (Parser a) (Parser a))) @@ -193,5 +193,5 @@ result (//.or parser ..any)] (case result - {.#Left _} (//.failure (text\composite "Did NOT expect to parse code: " (code.format sample))) + {.#Left _} (//.failure (text#composite "Did NOT expect to parse code: " (code.format sample))) {.#Right output} (in output)))) diff --git a/stdlib/source/library/lux/control/parser/environment.lux b/stdlib/source/library/lux/control/parser/environment.lux index b6a788e24..53d6c69c2 100644 --- a/stdlib/source/library/lux/control/parser/environment.lux +++ b/stdlib/source/library/lux/control/parser/environment.lux @@ -41,4 +41,4 @@ (def: .public (result parser environment) (All (_ a) (-> (Parser a) Environment (Try a))) - (\ try.monad each product.right (parser environment))) + (# try.monad each product.right (parser environment))) diff --git a/stdlib/source/library/lux/control/parser/json.lux b/stdlib/source/library/lux/control/parser/json.lux index 979d7c8a8..1811700e7 100644 --- a/stdlib/source/library/lux/control/parser/json.lux +++ b/stdlib/source/library/lux/control/parser/json.lux @@ -8,9 +8,9 @@ ["[0]" exception {"+" [exception:]}]] [data ["[0]" bit] - ["[0]" text ("[1]\[0]" equivalence monoid)] + ["[0]" text ("[1]#[0]" equivalence monoid)] [collection - ["[0]" list ("[1]\[0]" functor)] + ["[0]" list ("[1]#[0]" functor)] ["[0]" row] ["[0]" dictionary {"+" [Dictionary]}]] [format @@ -20,7 +20,7 @@ [math [number ["[0]" frac]]]]] - ["[0]" // ("[1]\[0]" functor)]) + ["[0]" // ("[1]#[0]" functor)]) (type: .public (Parser a) (//.Parser (List JSON) a)) @@ -90,7 +90,7 @@ [head ..any] (case head { value} - (in (\ = test value)) + (in (# = test value)) _ (//.failure (exception.error ..unexpected_value [head]))))) @@ -101,7 +101,7 @@ [head ..any] (case head { value} - (if (\ = test value) + (if (# = test value) (in []) (//.failure (exception.error ..value_mismatch [{ test} { value}]))) @@ -147,7 +147,7 @@ {/.#Object kvs} (case (|> kvs dictionary.entries - (list\each (function (_ [key value]) + (list#each (function (_ [key value]) (list {/.#String key} value))) list.together (//.result parser)) @@ -170,7 +170,7 @@ (function (recur inputs) (case inputs (^ (list& {/.#String key} value inputs')) - (if (text\= key field_name) + (if (text#= key field_name) (case (//.result parser (list value)) {try.#Success [{.#End} output]} {try.#Success [inputs' output]} @@ -196,4 +196,4 @@ (|>> (//.and ..string) //.some ..object - (//\each (dictionary.of_list text.hash)))) + (//#each (dictionary.of_list text.hash)))) diff --git a/stdlib/source/library/lux/control/parser/synthesis.lux b/stdlib/source/library/lux/control/parser/synthesis.lux index 0a8db3267..828042bd4 100644 --- a/stdlib/source/library/lux/control/parser/synthesis.lux +++ b/stdlib/source/library/lux/control/parser/synthesis.lux @@ -102,7 +102,7 @@ (.function (_ input) (case input (^ (list& ( actual) input')) - (if (\ = expected actual) + (if (# = expected actual) {try.#Success [input' []]} (exception.except ..cannot_parse input)) diff --git a/stdlib/source/library/lux/control/parser/text.lux b/stdlib/source/library/lux/control/parser/text.lux index b887806ba..b74ac2f44 100644 --- a/stdlib/source/library/lux/control/parser/text.lux +++ b/stdlib/source/library/lux/control/parser/text.lux @@ -8,16 +8,16 @@ ["[0]" try {"+" [Try]}] ["[0]" exception {"+" [exception:]}]] [data - ["/" text {"+" [Char]} ("[1]\[0]" monoid)] + ["/" text {"+" [Char]} ("[1]#[0]" monoid)] ["[0]" product] [collection - ["[0]" list ("[1]\[0]" mix)]]] + ["[0]" list ("[1]#[0]" mix)]]] [macro ["[0]" code] ["[0]" template]] [math [number - ["n" nat ("[1]\[0]" decimal)]]]]] + ["n" nat ("[1]#[0]" decimal)]]]]] ["[0]" //]) (type: .public Offset @@ -42,14 +42,14 @@ (exception: .public (unconsumed_input [offset Offset tape Text]) (exception.report - ["Offset" (n\encoded offset)] - ["Input size" (n\encoded (/.size tape))] + ["Offset" (n#encoded offset)] + ["Input size" (n#encoded (/.size tape))] ["Remaining input" (..left_over offset tape)])) (exception: .public (expected_to_fail [offset Offset tape Text]) (exception.report - ["Offset" (n\encoded offset)] + ["Offset" (n#encoded offset)] ["Input" (..left_over offset tape)])) (exception: .public cannot_parse) @@ -76,7 +76,7 @@ (do //.monad [offset ..offset slices parser] - (in (list\mix (function (_ [slice::basis slice::distance] + (in (list#mix (function (_ [slice::basis slice::distance] [total::basis total::distance]) [total::basis ("lux i64 +" slice::distance total::distance)]) [#basis offset @@ -164,7 +164,7 @@ (do //.monad [char any .let [char' (maybe.trusted (/.char 0 char))] - _ (//.assertion ($_ /\composite "Character is not within range: " (/.of_char bottom) "-" (/.of_char top)) + _ (//.assertion ($_ /#composite "Character is not within range: " (/.of_char bottom) "-" (/.of_char top)) (.and (n.>= bottom char') (n.<= top char')))] (in char))) @@ -269,7 +269,7 @@ (do //.monad [=left left =right right] - (in ($_ /\composite =left =right)))) + (in ($_ /#composite =left =right)))) (def: .public (and! left right) (-> (Parser Slice) (Parser Slice) (Parser Slice)) @@ -281,7 +281,7 @@ (template [ ] [(def: .public ( parser) (-> (Parser Text) (Parser Text)) - (|> parser (\ //.monad each /.together)))] + (|> parser (# //.monad each /.together)))] [some //.some "some"] [many //.many "many"] @@ -301,7 +301,7 @@ (-> Nat (Parser Text) (Parser Text)) (|> parser ( amount) - (\ //.monad each /.together)))] + (# //.monad each /.together)))] [exactly //.exactly "exactly"] [at_most //.at_most "at most"] @@ -323,7 +323,7 @@ (-> Nat Nat (Parser Text) (Parser Text)) (|> parser (//.between minimum additional) - (\ //.monad each /.together))) + (# //.monad each /.together))) (def: .public (between! minimum additional parser) (-> Nat Nat (Parser Slice) (Parser Slice)) diff --git a/stdlib/source/library/lux/control/parser/type.lux b/stdlib/source/library/lux/control/parser/type.lux index 29fab0aa4..936f8f522 100644 --- a/stdlib/source/library/lux/control/parser/type.lux +++ b/stdlib/source/library/lux/control/parser/type.lux @@ -8,17 +8,17 @@ ["[0]" exception {"+" [exception:]}] ["[0]" function]] [data - ["[0]" text ("[1]\[0]" monoid) + ["[0]" text ("[1]#[0]" monoid) ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" functor)] + ["[0]" list ("[1]#[0]" functor)] ["[0]" dictionary {"+" [Dictionary]}]]] [macro ["[0]" code]] [math [number - ["n" nat ("[1]\[0]" decimal)]]] - ["[0]" type ("[1]\[0]" equivalence) + ["n" nat ("[1]#[0]" decimal)]]] + ["[0]" type ("[1]#[0]" equivalence) ["[0]" check]]]] ["[0]" //]) @@ -58,7 +58,7 @@ (exception: .public (unconsumed_input [remaining (List Type)]) (exception.report ["Types" (|> remaining - (list\each (|>> %.type (format text.new_line "* "))) + (list#each (|>> %.type (format text.new_line "* "))) (text.interposed ""))])) (type: .public Env @@ -136,7 +136,7 @@ (def: (label idx) (-> Nat Code) - (code.local_identifier ($_ text\composite "label" text.tab (n\encoded idx)))) + (code.local_identifier ($_ text#composite "label" text.tab (n#encoded idx)))) (def: .public (with_extension type poly) (All (_ a) (-> Type (Parser a) (Parser [Code a]))) @@ -179,7 +179,7 @@ (All (_ a) (-> (Parser a) (Parser [Code (List Code) a]))) (do [! //.monad] [headT any - funcI (\ ! each dictionary.size ..env) + funcI (# ! each dictionary.size ..env) [num_args non_poly] (local (list headT) ..polymorphic') env ..env .let [funcL (label funcI) @@ -198,7 +198,7 @@ partial_varI (++ partialI) partial_varL (label partial_varI) partialC (` ((~ funcL) (~+ (|> (list.indices num_args) - (list\each (|>> (n.* 2) ++ (n.+ funcI) label)) + (list#each (|>> (n.* 2) ++ (n.+ funcI) label)) list.reversed))))] (recur (++ current_arg) (|> env' @@ -240,7 +240,7 @@ (in []) (//.failure (exception.error ..types_do_not_match [expected actual])))))] - [exactly type\=] + [exactly type#=] [sub check.subsumes?] [super (function.flipped check.subsumes?)] ) diff --git a/stdlib/source/library/lux/control/parser/xml.lux b/stdlib/source/library/lux/control/parser/xml.lux index 71fb6fab9..a4efa259b 100644 --- a/stdlib/source/library/lux/control/parser/xml.lux +++ b/stdlib/source/library/lux/control/parser/xml.lux @@ -4,10 +4,10 @@ [abstract [monad {"+" [do]}]] [control - ["[0]" try {"+" [Try]} ("[1]\[0]" functor)] + ["[0]" try {"+" [Try]} ("[1]#[0]" functor)] ["[0]" exception {"+" [exception:]}]] [data - ["[0]" name ("[1]\[0]" equivalence codec)] + ["[0]" name ("[1]#[0]" equivalence codec)] ["[0]" text ["%" format {"+" [format]}]] [collection @@ -37,7 +37,7 @@ (exception: .public (unconsumed_inputs [inputs (List XML)]) (exception.report - ["Inputs" (exception.listing (\ /.codec encoded) inputs)])) + ["Inputs" (exception.listing (# /.codec encoded) inputs)])) (def: (result' parser attrs documents) (All (_ a) (-> (Parser a) Attrs (List XML) (Try a))) @@ -107,10 +107,10 @@ (exception.except ..unexpected_input []) {/.#Node actual attrs' children} - (if (name\= expected actual) + (if (name#= expected actual) (|> children (..result' parser attrs') - (try\each (|>> [[attrs tail]]))) + (try#each (|>> [[attrs tail]]))) (exception.except ..wrong_tag [expected actual])))))) (def: .public any diff --git a/stdlib/source/library/lux/control/pipe.lux b/stdlib/source/library/lux/control/pipe.lux index 7ce13b79d..f6158f039 100644 --- a/stdlib/source/library/lux/control/pipe.lux +++ b/stdlib/source/library/lux/control/pipe.lux @@ -10,7 +10,7 @@ [data ["[0]" identity] [collection - ["[0]" list ("[1]\[0]" monad)]]] + ["[0]" list ("[1]#[0]" monad)]]] [macro {"+" [with_identifiers]} [syntax {"+" [syntax:]}] ["[0]" code]] @@ -104,12 +104,12 @@ prev .any]) (with_identifiers [g!temp] (in (list (` (let [(~ g!temp) (~ prev)] - [(~+ (list\each (function (_ body) (` (|> (~ g!temp) (~+ body)))) + [(~+ (list#each (function (_ body) (` (|> (~ g!temp) (~+ body)))) paths))])))))) (syntax: .public (case> [branches (<>.many (<>.and .any .any)) prev .any]) (in (list (` (case (~ prev) (~+ (|> branches - (list\each (function (_ [pattern body]) (list pattern body))) - list\conjoint))))))) + (list#each (function (_ [pattern body]) (list pattern body))) + list#conjoint))))))) diff --git a/stdlib/source/library/lux/control/reader.lux b/stdlib/source/library/lux/control/reader.lux index 09431e513..a946469d3 100644 --- a/stdlib/source/library/lux/control/reader.lux +++ b/stdlib/source/library/lux/control/reader.lux @@ -56,7 +56,8 @@ (functor.composite ..functor (value@ monad.&functor monad))) (def: in - (|>> (\ monad in) (\ ..monad in))) + (|>> (# monad in) + (# ..monad in))) (def: (conjoint eMeMa) (function (_ env) @@ -66,4 +67,4 @@ (def: .public lifted (All (_ M e a) (-> (M a) (Reader e (M a)))) - (\ ..monad in)) + (# ..monad in)) diff --git a/stdlib/source/library/lux/control/region.lux b/stdlib/source/library/lux/control/region.lux index 0082844a2..b17393bda 100644 --- a/stdlib/source/library/lux/control/region.lux +++ b/stdlib/source/library/lux/control/region.lux @@ -11,7 +11,7 @@ ["[0]" text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" mix)]]]]] + ["[0]" list ("[1]#[0]" mix)]]]]] [// ["[0]" exception {"+" [Exception exception:]}]]) @@ -59,13 +59,13 @@ [[cleaners output] (computation [[] (list)])] (|> cleaners (monad.each ! (function (_ cleaner) (cleaner []))) - (\ ! each (list\mix clean output))))) + (# ! each (list#mix clean output))))) (def: .public (acquire! monad cleaner value) (All (_ ! a) (-> (Monad !) (-> a (! (Try Any))) a (All (_ r) (Region r ! a)))) (function (_ [region cleaners]) - (\ monad in [{.#Item (function (_ region) (cleaner value)) + (# monad in [{.#Item (function (_ region) (cleaner value)) cleaners} {try.#Success value}]))) @@ -77,7 +77,7 @@ (def: (each f) (function (_ fa) (function (_ region+cleaners) - (\ super each + (# super each (function (_ [cleaners' temp]) [cleaners' (case temp {try.#Success value} @@ -122,7 +122,7 @@ (def: (in value) (function (_ [region cleaners]) - (\ super in [cleaners {try.#Success value}]))) + (# super in [cleaners {try.#Success value}]))) (def: (conjoint ffa) (function (_ [region cleaners]) @@ -140,7 +140,7 @@ (-> (Monad !) Text (All (_ r) (Region r ! a)))) (function (_ [region cleaners]) - (\ monad in [cleaners {try.#Failure error}]))) + (# monad in [cleaners {try.#Failure error}]))) (def: .public (except monad exception message) (All (_ ! e a) @@ -153,6 +153,6 @@ (-> (Monad !) (! a) (All (_ r) (Region r ! a)))) (function (_ [region cleaners]) - (\ monad each + (# monad each (|>> {try.#Success} [cleaners]) operation))) diff --git a/stdlib/source/library/lux/control/remember.lux b/stdlib/source/library/lux/control/remember.lux index b7047517d..f8a0dbc2d 100644 --- a/stdlib/source/library/lux/control/remember.lux +++ b/stdlib/source/library/lux/control/remember.lux @@ -7,14 +7,14 @@ ["[0]" io] ["[0]" try] ["[0]" exception {"+" [exception:]}] - ["<>" parser ("[1]\[0]" functor) + ["<>" parser ("[1]#[0]" functor) ["" code {"+" [Parser]}]]] [data ["[0]" text ["%" format {"+" [format]}]]] [time ["[0]" instant] - ["[0]" date {"+" [Date]} ("[1]\[0]" order)]] + ["[0]" date {"+" [Date]} ("[1]#[0]" order)]] ["[0]" meta] [macro ["[0]" code] @@ -39,11 +39,11 @@ (def: deadline (Parser Date) ($_ <>.either - (<>\each (|>> instant.of_millis instant.date) + (<>#each (|>> instant.of_millis instant.date) .int) (do <>.monad [raw .text] - (case (\ date.codec decoded raw) + (case (# date.codec decoded raw) {try.#Success date} (in date) @@ -55,7 +55,7 @@ focus (<>.maybe .any)]) (let [now (io.run! instant.now) today (instant.date now)] - (if (date\< deadline today) + (if (date#< deadline today) (in (case focus {.#Some focus} (list focus) diff --git a/stdlib/source/library/lux/control/security/capability.lux b/stdlib/source/library/lux/control/security/capability.lux index 2a49f4b51..18696f851 100644 --- a/stdlib/source/library/lux/control/security/capability.lux +++ b/stdlib/source/library/lux/control/security/capability.lux @@ -13,7 +13,7 @@ [text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [type abstract] ["[0]" meta] @@ -48,14 +48,14 @@ (do [! meta.monad] [this_module meta.current_module_name .let [[name vars] declaration] - g!brand (\ ! each (|>> %.code code.text) + g!brand (# ! each (|>> %.code code.text) (macro.identifier (format (%.name [this_module name])))) .let [capability (` (..Capability (.primitive (~ g!brand)) (~ input) (~ output)))]] (in (list (` (type: (~ export_policy) (~ (|declaration|.format declaration)) (~ capability))) (` (def: (~ (code.local_identifier forger)) - (All ((~ g!_) (~+ (list\each code.local_identifier vars))) + (All ((~ g!_) (~+ (list#each code.local_identifier vars))) (-> (-> (~ input) (~ output)) (~ capability))) (~! ..capability))) diff --git a/stdlib/source/library/lux/control/state.lux b/stdlib/source/library/lux/control/state.lux index c9a6566bb..e9ad5dc92 100644 --- a/stdlib/source/library/lux/control/state.lux +++ b/stdlib/source/library/lux/control/state.lux @@ -93,13 +93,13 @@ (def: (each f sfa) (function (_ state) - (\ functor each (function (_ [s a]) [s (f a)]) + (# functor each (function (_ [s a]) [s (f a)]) (sfa state))))) (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,11 +118,11 @@ (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) - (\ monad in [state a]))) + (# monad in [state a]))) (def: (conjoint sMsMa) (function (_ state) diff --git a/stdlib/source/library/lux/control/try.lux b/stdlib/source/library/lux/control/try.lux index eb078497f..6ef29b2e9 100644 --- a/stdlib/source/library/lux/control/try.lux +++ b/stdlib/source/library/lux/control/try.lux @@ -68,8 +68,8 @@ ..functor)) (def: in - (|>> (\ ..monad in) - (\ monad in))) + (|>> (# ..monad in) + (# monad in))) (def: (conjoint MeMea) (do monad @@ -83,15 +83,15 @@ (def: .public (lifted monad) (All (_ ! a) (-> (Monad !) (-> (! a) (! (Try a))))) - (\ monad each (\ ..monad in))) + (# monad each (# ..monad in))) -(implementation: .public (equivalence (^open "_\[0]")) +(implementation: .public (equivalence (^open "_#[0]")) (All (_ a) (-> (Equivalence a) (Equivalence (Try a)))) (def: (= reference sample) (case [reference sample] [{#Success reference} {#Success sample}] - (_\= reference sample) + (_#= reference sample) [{#Failure reference} {#Failure sample}] ("lux text =" reference sample) @@ -128,7 +128,7 @@ {#Success value} {.#None} - {#Failure (`` (("lux in-module" (~~ (static .prelude_module)) .name\encoded) + {#Failure (`` (("lux in-module" (~~ (static .prelude_module)) .name#encoded) (name_of ..of_maybe)))})) (macro: .public (else tokens compiler) diff --git a/stdlib/source/library/lux/control/writer.lux b/stdlib/source/library/lux/control/writer.lux index c30494e56..92b3b9ab9 100644 --- a/stdlib/source/library/lux/control/writer.lux +++ b/stdlib/source/library/lux/control/writer.lux @@ -34,7 +34,7 @@ (def: (on fa ff) (let [[log1 f] ff [log2 a] fa] - [(\ monoid composite log1 log2) (f a)]))) + [(# monoid composite log1 log2) (f a)]))) (implementation: .public (monad monoid) (All (_ l) @@ -43,11 +43,11 @@ (def: &functor ..functor) (def: in - (|>> [(\ monoid identity)])) + (|>> [(# monoid identity)])) (def: (conjoint mma) (let [[log1 [log2 a]] mma] - [(\ monoid composite log1 log2) a]))) + [(# monoid composite log1 log2) a]))) (implementation: .public (with monoid monad) (All (_ l M) (-> (Monoid l) (Monad M) (Monad (All (_ a) (M (Writer l a)))))) @@ -58,7 +58,7 @@ (def: in (let [writer (..monad monoid)] - (|>> (\ writer in) (\ monad in)))) + (|>> (# writer in) (# monad in)))) (def: (conjoint MlMla) (do monad @@ -72,10 +72,10 @@ ... On new compiler MlMla) [l2 a] Mla] - (in [(\ monoid composite l1 l2) a])))) + (in [(# monoid composite l1 l2) a])))) (def: .public (lifted monoid monad) (All (_ l M a) (-> (Monoid l) (Monad M) (-> (M a) (M (Writer l a))))) - (\ monad each (|>> [(\ monoid identity)]))) + (# monad each (|>> [(# monoid identity)]))) diff --git a/stdlib/source/library/lux/data/collection/array.lux b/stdlib/source/library/lux/data/collection/array.lux index 08cfac991..8830266ce 100644 --- a/stdlib/source/library/lux/data/collection/array.lux +++ b/stdlib/source/library/lux/data/collection/array.lux @@ -13,7 +13,7 @@ [data ["[0]" product] [collection - ["[0]" list ("[1]\[0]" mix)]]] + ["[0]" list ("[1]#[0]" mix)]]] [math [number ["n" nat]]]]]) @@ -178,7 +178,7 @@ (Array a))) (if (n.= 0 length) dest_array - (list\mix (function (_ offset target) + (list#mix (function (_ offset target) (case (read! (n.+ offset src_start) src_array) {.#None} target @@ -190,7 +190,7 @@ (def: .public (occupancy array) (All (_ a) (-> (Array a) Nat)) - (list\mix (function (_ idx count) + (list#mix (function (_ idx count) (case (read! idx array) {.#None} count @@ -207,7 +207,7 @@ (def: .public (filter! p xs) (All (_ a) (-> (Predicate a) (Array a) (Array a))) - (list\mix (function (_ idx xs') + (list#mix (function (_ idx xs') (case (read! idx xs) {.#None} xs' @@ -254,7 +254,7 @@ (def: .public (clone xs) (All (_ a) (-> (Array a) (Array a))) (let [arr_size (size xs)] - (list\mix (function (_ idx ys) + (list#mix (function (_ idx ys) (case (read! idx xs) {.#None} ys @@ -266,7 +266,7 @@ (def: .public (of_list xs) (All (_ a) (-> (List a) (Array a))) - (product.right (list\mix (function (_ x [idx arr]) + (product.right (list#mix (function (_ x [idx arr]) [(++ idx) (write! idx x arr)]) [0 (empty (list.size xs))] xs))) @@ -314,21 +314,21 @@ {.#None} (list|-default array))) -(implementation: .public (equivalence (^open ",\[0]")) +(implementation: .public (equivalence (^open ",#[0]")) (All (_ a) (-> (Equivalence a) (Equivalence (Array a)))) (def: (= xs ys) (let [sxs (size xs) sxy (size ys)] (and (n.= sxy sxs) - (list\mix (function (_ idx prev) + (list#mix (function (_ idx prev) (and prev (case [(read! idx xs) (read! idx ys)] [{.#None} {.#None}] true [{.#Some x} {.#Some y}] - (,\= x y) + (,#= x y) _ false))) @@ -354,7 +354,7 @@ (let [arr_size (size ma)] (if (n.= 0 arr_size) (empty arr_size) - (list\mix (function (_ idx mb) + (list#mix (function (_ idx mb) (case (read! idx ma) {.#None} mb diff --git a/stdlib/source/library/lux/data/collection/bits.lux b/stdlib/source/library/lux/data/collection/bits.lux index 8bfe7f2f9..42070dc8d 100644 --- a/stdlib/source/library/lux/data/collection/bits.lux +++ b/stdlib/source/library/lux/data/collection/bits.lux @@ -8,7 +8,7 @@ ["[0]" maybe]] [data [collection - ["[0]" array {"+" [Array]} ("[1]\[0]" mix)]]] + ["[0]" array {"+" [Array]} ("[1]#[0]" mix)]]] [math [number ["n" nat] @@ -33,7 +33,7 @@ (def: .public (size bits) (-> Bits Nat) - (array\mix (function (_ chunk total) + (array#mix (function (_ chunk total) (|> chunk i64.ones (n.+ total))) 0 bits)) diff --git a/stdlib/source/library/lux/data/collection/dictionary.lux b/stdlib/source/library/lux/data/collection/dictionary.lux index bdfc2638a..6b0aff962 100644 --- a/stdlib/source/library/lux/data/collection/dictionary.lux +++ b/stdlib/source/library/lux/data/collection/dictionary.lux @@ -12,8 +12,8 @@ [data ["[0]" product] [collection - ["[0]" list ("[1]\[0]" mix functor monoid)] - ["[0]" array {"+" [Array]} ("[1]\[0]" functor mix)]]] + ["[0]" list ("[1]#[0]" mix functor monoid)] + ["[0]" array {"+" [Array]} ("[1]#[0]" functor mix)]]] [math ["[0]" number ["n" nat] @@ -131,7 +131,7 @@ ... Expands a copy of the array, to have 1 extra slot, which is used ... for storing the value. -(def: (array\has idx value old_array) +(def: (array#has idx value old_array) (All (_ a) (-> Index a (Array a) (Array a))) (let [old_size (array.size old_array)] (|> (array.empty (++ old_size)) @@ -140,19 +140,19 @@ (array.copy! (n.- idx old_size) idx old_array (++ idx))))) ... Creates a copy of an array with an index set to a particular value. -(def: (array\revised idx value array) +(def: (array#revised idx value array) (All (_ a) (-> Index a (Array a) (Array a))) (|> array array.clone (array.write! idx value))) ... Creates a clone of the array, with an empty position at index. -(def: (array\clear idx array) +(def: (array#clear idx array) (All (_ a) (-> Index (Array a) (Array a))) (|> array array.clone (array.delete! idx))) ... Shrinks a copy of the array by removing the space at index. -(def: (array\lacks idx array) +(def: (array#lacks idx array) (All (_ a) (-> Index (Array a) (Array a))) (let [new_size (-- (array.size array))] (|> (array.empty new_size) @@ -228,16 +228,16 @@ ... Produces the index of a KV-pair within a #Collisions node. (def: (collision_index key_hash key colls) (All (_ k v) (-> (Hash k) k (Collisions k v) (Maybe Index))) - (\ maybe.monad each product.left + (# maybe.monad each product.left (array.example+ (function (_ idx [key' val']) - (\ key_hash = key key')) + (# key_hash = key key')) colls))) ... When #Hierarchy nodes grow too small, they're demoted to #Base ... nodes to save space. (def: (demotion except_idx [h_size h_array]) (All (_ k v) (-> Index (Hierarchy k v) [Bit_Map (Base k v)])) - (product.right (list\mix (function (_ idx [insertion_idx node]) + (product.right (list#mix (function (_ idx [insertion_idx node]) (let [[bitmap base] node] (case (array.read! idx h_array) {.#None} [insertion_idx node] @@ -257,13 +257,13 @@ (List Index) (list.indices hierarchy_nodes_size)) -(def: (promotion node\has key_hash level bitmap base) +(def: (promotion node#has key_hash level bitmap base) (All (_ k v) (-> (-> Level Hash_Code k v (Hash k) (Node k v) (Node k v)) (Hash k) Level Bit_Map (Base k v) (Array (Node k v)))) - (product.right (list\mix (function (_ hierarchy_idx (^@ default [base_idx h_array])) + (product.right (list#mix (function (_ hierarchy_idx (^@ default [base_idx h_array])) (if (with_bit_position? (to_bit_position hierarchy_idx) bitmap) [(++ base_idx) @@ -273,7 +273,7 @@ {.#Some {.#Right [key' val']}} (array.write! hierarchy_idx - (node\has (level_up level) (\ key_hash hash key') key' val' key_hash empty_node) + (node#has (level_up level) (# key_hash hash key') key' val' key_hash empty_node) h_array) {.#None} @@ -286,7 +286,7 @@ ... All empty nodes look the same (a #Base node with clean bitmap is ... used). ... So, this test is introduced to detect them. -(def: (node\empty? node) +(def: (node#empty? node) (All (_ k v) (-> (Node k v) Bit)) (`` (case node {#Base (~~ (static ..clean_bitmap)) _} @@ -295,7 +295,7 @@ _ #0))) -(def: (node\has level hash key val key_hash node) +(def: (node#has level hash key val key_hash node) (All (_ k v) (-> Level Hash_Code k v (Hash k) (Node k v) (Node k v))) (case node ... For #Hierarchy nodes, check whether one can add the element to @@ -309,7 +309,7 @@ _ [(++ _size) empty_node])] {#Hierarchy _size' - (array\revised idx (node\has (level_up level) hash key val key_hash sub_node) + (array#revised idx (node#has (level_up level) hash key val key_hash sub_node) hierarchy)}) ... For #Base nodes, check if the corresponding Bit_Position has @@ -322,17 +322,17 @@ (case (array.read! idx base) ... If it's being used by a node, add the KV to it. {.#Some {.#Left sub_node}} - (let [sub_node' (node\has (level_up level) hash key val key_hash sub_node)] - {#Base bitmap (array\revised idx {.#Left sub_node'} base)}) + (let [sub_node' (node#has (level_up level) hash key val key_hash sub_node)] + {#Base bitmap (array#revised idx {.#Left sub_node'} base)}) ... Otherwise, if it's being used by a KV, compare the keys. {.#Some {.#Right key' val'}} - (if (\ key_hash = key key') + (if (# key_hash = key key') ... If the same key is found, replace the value. - {#Base bitmap (array\revised idx {.#Right key val} base)} + {#Base bitmap (array#revised idx {.#Right key val} base)} ... Otherwise, compare the hashes of the keys. - {#Base bitmap (array\revised idx - {.#Left (let [hash' (\ key_hash hash key')] + {#Base bitmap (array#revised idx + {.#Left (let [hash' (# key_hash hash key')] (if (n.= hash hash') ... If the hashes are ... the same, a new @@ -348,8 +348,8 @@ ... to the empty one. (let [next_level (level_up level)] (|> empty_node - (node\has next_level hash' key' val' key_hash) - (node\has next_level hash key val key_hash)))))} + (node#has next_level hash' key' val' key_hash) + (node#has next_level hash key val key_hash)))))} base)}) {.#None} @@ -361,14 +361,14 @@ ... If so, resize the #Base node to accommodate the ... new KV-pair. {#Base (with_bit_position bit bitmap) - (array\has (base_index bit bitmap) {.#Right [key val]} base)} + (array#has (base_index bit bitmap) {.#Right [key val]} base)} ... Otherwise, promote it to a #Hierarchy node, and add the new ... KV-pair as a singleton node to it. {#Hierarchy (++ base_count) (|> base - (promotion node\has key_hash level bitmap) + (promotion node#has key_hash level bitmap) (array.write! (level_index level hash) - (node\has (level_up level) hash key val key_hash empty_node)))})))) + (node#has (level_up level) hash key val key_hash empty_node)))})))) ... For #Collisions nodes, compare the hashes. {#Collisions _hash _colls} @@ -379,20 +379,20 @@ ... If the key was already present in the collisions-list, its ... value gets updated. {.#Some coll_idx} - {#Collisions _hash (array\revised coll_idx [key val] _colls)} + {#Collisions _hash (array#revised coll_idx [key val] _colls)} ... Otherwise, the KV-pair is added to the collisions-list. {.#None} - {#Collisions _hash (array\has (array.size _colls) [key val] _colls)}) + {#Collisions _hash (array#has (array.size _colls) [key val] _colls)}) ... If the hashes are not equal, create a new #Base node that ... contains the old #Collisions node, plus the new KV-pair. (|> {#Base (level_bit_position level _hash) (|> (array.empty 1) (array.write! 0 {.#Left node}))} - (node\has level hash key val key_hash))) + (node#has level hash key val key_hash))) )) -(def: (node\lacks level hash key key_hash node) +(def: (node#lacks level hash key key_hash node) (All (_ k v) (-> Level Hash_Code k (Hash k) (Node k v) (Node k v))) (case node ... For #Hierarchy nodes, find out if there's a valid sub-node for @@ -406,22 +406,22 @@ ... But if there is, try to remove the key from the sub-node. {.#Some sub_node} - (let [sub_node' (node\lacks (level_up level) hash key key_hash sub_node)] + (let [sub_node' (node#lacks (level_up level) hash key key_hash sub_node)] ... Then check if a removal was actually done. (if (same? sub_node sub_node') ... If not, then there's nothing to change here either. node ... But if the sub_removal yielded an empty sub_node... - (if (node\empty? sub_node') + (if (node#empty? sub_node') ... Check if it's due time for a demotion. (if (n.> demotion_threshold h_size) ... If so, just clear the space. - {#Hierarchy (-- h_size) (array\clear idx h_array)} + {#Hierarchy (-- h_size) (array#clear idx h_array)} ... Otherwise, perform it. {#Base (demotion idx [h_size h_array])}) ... But if the sub_removal yielded a non_empty node, then ... just update the hiearchy branch. - {#Hierarchy h_size (array\revised idx sub_node' h_array)}))))) + {#Hierarchy h_size (array#revised idx sub_node' h_array)}))))) ... For #Base nodes, check whether the Bit_Position is set. {#Base bitmap base} @@ -432,13 +432,13 @@ ... If set, check if it's a sub_node, and remove the KV ... from it. {.#Some {.#Left sub_node}} - (let [sub_node' (node\lacks (level_up level) hash key key_hash sub_node)] + (let [sub_node' (node#lacks (level_up level) hash key key_hash sub_node)] ... Verify that it was removed. (if (same? sub_node sub_node') ... If not, there's also nothing to change here. node ... But if it came out empty... - (if (node\empty? sub_node') + (if (node#empty? sub_node') ...# ... figure out whether that's the only position left. (if (only_bit_position? bit bitmap) ... If so, removing it leaves this node empty too. @@ -446,19 +446,19 @@ ... But if not, then just unset the position and ... remove the node. {#Base (without_bit_position bit bitmap) - (array\lacks idx base)}) + (array#lacks idx base)}) ... But, if it did not come out empty, then the ... position is kept, and the node gets updated. {#Base bitmap - (array\revised idx {.#Left sub_node'} base)}))) + (array#revised idx {.#Left sub_node'} base)}))) ... If, however, there was a KV-pair instead of a sub-node. {.#Some {.#Right [key' val']}} ... Check if the keys match. - (if (\ key_hash = key key') + (if (# key_hash = key key') ... If so, remove the KV-pair and unset the Bit_Position. {#Base (without_bit_position bit bitmap) - (array\lacks idx base)} + (array#lacks idx base)} ... Otherwise, there's nothing to remove. node) @@ -481,17 +481,17 @@ ... an empty node. empty_node ... Otherwise, just shrink the array by removing the KV-pair. - {#Collisions _hash (array\lacks idx _colls)})) + {#Collisions _hash (array#lacks idx _colls)})) )) -(def: (node\value level hash key key_hash node) +(def: (node#value level hash key key_hash node) (All (_ k v) (-> Level Hash_Code k (Hash k) (Node k v) (Maybe v))) (case node ... For #Hierarchy nodes, just look-up the key on its children. {#Hierarchy _size hierarchy} (case (array.read! (level_index level hash) hierarchy) {.#None} {.#None} - {.#Some sub_node} (node\value (level_up level) hash key key_hash sub_node)) + {.#Some sub_node} (node#value (level_up level) hash key key_hash sub_node)) ... For #Base nodes, check the leaves, and recursively check the branches. {#Base bitmap base} @@ -499,10 +499,10 @@ (if (with_bit_position? bit bitmap) (case (array.read! (base_index bit bitmap) base) {.#Some {.#Left sub_node}} - (node\value (level_up level) hash key key_hash sub_node) + (node#value (level_up level) hash key key_hash sub_node) {.#Some {.#Right [key' val']}} - (if (\ key_hash = key key') + (if (# key_hash = key key') {.#Some val'} {.#None}) @@ -512,21 +512,21 @@ ... For #Collisions nodes, do a linear scan of all the known KV-pairs. {#Collisions _hash _colls} - (\ maybe.monad each product.right - (array.example (|>> product.left (\ key_hash = key)) + (# maybe.monad each product.right + (array.example (|>> product.left (# key_hash = key)) _colls)) )) -(def: (node\size node) +(def: (node#size node) (All (_ k v) (-> (Node k v) Nat)) (case node {#Hierarchy _size hierarchy} - (array\mix n.+ 0 (array\each node\size hierarchy)) + (array#mix n.+ 0 (array#each node#size hierarchy)) {#Base _ base} - (array\mix n.+ 0 (array\each (function (_ sub_node') + (array#mix n.+ 0 (array#each (function (_ sub_node') (case sub_node' - {.#Left sub_node} (node\size sub_node) + {.#Left sub_node} (node#size sub_node) {.#Right _} 1)) base)) @@ -534,19 +534,19 @@ (array.size colls) )) -(def: (node\entries node) +(def: (node#entries node) (All (_ k v) (-> (Node k v) (List [k v]))) (case node {#Hierarchy _size hierarchy} - (array\mix (function (_ sub_node tail) (list\composite (node\entries sub_node) tail)) + (array#mix (function (_ sub_node tail) (list#composite (node#entries sub_node) tail)) {.#End} hierarchy) {#Base bitmap base} - (array\mix (function (_ branch tail) + (array#mix (function (_ branch tail) (case branch {.#Left sub_node} - (list\composite (node\entries sub_node) tail) + (list#composite (node#entries sub_node) tail) {.#Right [key' val']} {.#Item [key' val'] tail})) @@ -554,7 +554,7 @@ base) {#Collisions hash colls} - (array\mix (function (_ [key' val'] tail) {.#Item [key' val'] tail}) + (array#mix (function (_ [key' val'] tail) {.#Item [key' val'] tail}) {.#End} colls))) @@ -575,17 +575,17 @@ (def: .public (has key val dict) (All (_ k v) (-> k v (Dictionary k v) (Dictionary k v))) (let [[key_hash node] dict] - [key_hash (node\has root_level (\ key_hash hash key) key val key_hash node)])) + [key_hash (node#has root_level (# key_hash hash key) key val key_hash node)])) (def: .public (lacks key dict) (All (_ k v) (-> k (Dictionary k v) (Dictionary k v))) (let [[key_hash node] dict] - [key_hash (node\lacks root_level (\ key_hash hash key) key key_hash node)])) + [key_hash (node#lacks root_level (# key_hash hash key) key key_hash node)])) (def: .public (value key dict) (All (_ k v) (-> k (Dictionary k v) (Maybe v))) (let [[key_hash node] dict] - (node\value root_level (\ key_hash hash key) key key_hash node))) + (node#value root_level (# key_hash hash key) key key_hash node))) (def: .public (key? dict key) (All (_ k v) (-> (Dictionary k v) k Bit)) @@ -619,7 +619,7 @@ (def: .public size (All (_ k v) (-> (Dictionary k v) Nat)) - (|>> product.right ..node\size)) + (|>> product.right ..node#size)) (def: .public empty? (All (_ k v) (-> (Dictionary k v) Bit)) @@ -627,11 +627,11 @@ (def: .public entries (All (_ k v) (-> (Dictionary k v) (List [k v]))) - (|>> product.right ..node\entries)) + (|>> product.right ..node#entries)) (def: .public (of_list key_hash kvs) (All (_ k v) (-> (Hash k) (List [k v]) (Dictionary k v))) - (list\mix (function (_ [k v] dict) + (list#mix (function (_ [k v] dict) (..has k v dict)) (empty key_hash) kvs)) @@ -640,7 +640,7 @@ [(def: .public (All (_ k v) (-> (Dictionary k v) (List ))) (|>> ..entries - (list\mix (function (_ [k v] bundle) + (list#mix (function (_ [k v] bundle) {.#Item bundle}) {.#End})))] @@ -650,13 +650,13 @@ (def: .public (merged dict2 dict1) (All (_ k v) (-> (Dictionary k v) (Dictionary k v) (Dictionary k v))) - (list\mix (function (_ [key val] dict) (has key val dict)) + (list#mix (function (_ [key val] dict) (has key val dict)) dict1 (entries dict2))) (def: .public (merged_with f dict2 dict1) (All (_ k v) (-> (-> v v v) (Dictionary k v) (Dictionary k v) (Dictionary k v))) - (list\mix (function (_ [key val2] dict) + (list#mix (function (_ [key val2] dict) (case (value key dict) {.#None} (has key val2 dict) @@ -680,14 +680,14 @@ (def: .public (sub keys dict) (All (_ k v) (-> (List k) (Dictionary k v) (Dictionary k v))) (let [[key_hash _] dict] - (list\mix (function (_ key new_dict) + (list#mix (function (_ key new_dict) (case (value key dict) {.#None} new_dict {.#Some val} (has key val new_dict))) (empty key_hash) keys))) -(implementation: .public (equivalence (^open ",\[0]")) +(implementation: .public (equivalence (^open ",#[0]")) (All (_ k v) (-> (Equivalence v) (Equivalence (Dictionary k v)))) (def: (= reference subject) @@ -696,7 +696,7 @@ (list.every? (function (_ [k rv]) (case (..value k subject) {.#Some sv} - (,\= rv sv) + (,#= rv sv) _ #0)) @@ -708,10 +708,10 @@ (def: (each f fa) (case fa {#Hierarchy size hierarchy} - {#Hierarchy size (array\each (each f) hierarchy)} + {#Hierarchy size (array#each (each f) hierarchy)} {#Base bitmap base} - {#Base bitmap (array\each (function (_ either) + {#Base bitmap (array#each (function (_ either) (case either {.#Left fa'} {.#Left (each f fa')} @@ -721,7 +721,7 @@ base)} {#Collisions hash collisions} - {#Collisions hash (array\each (function (_ [k v]) + {#Collisions hash (array#each (function (_ [k v]) [k (f v)]) collisions)}))) @@ -729,4 +729,4 @@ (All (_ k) (Functor (Dictionary k))) (def: (each f fa) - (revised@ #root (\ ..node_functor each f) fa))) + (revised@ #root (# ..node_functor each f) fa))) diff --git a/stdlib/source/library/lux/data/collection/dictionary/ordered.lux b/stdlib/source/library/lux/data/collection/dictionary/ordered.lux index 1fc2e3ea5..1b02f03a3 100644 --- a/stdlib/source/library/lux/data/collection/dictionary/ordered.lux +++ b/stdlib/source/library/lux/data/collection/dictionary/ordered.lux @@ -10,7 +10,7 @@ [data ["p" product] [collection - ["[0]" list ("[1]\[0]" monoid mix)]]] + ["[0]" list ("[1]#[0]" monoid mix)]]] [math [number ["n" nat]]]]]) @@ -58,7 +58,7 @@ ... 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]") (value@ #&order dict) + (let [... (^open "_#[0]") (value@ #&order dict) ] (loop [node (value@ #root dict)] (case node @@ -67,15 +67,15 @@ {.#Some node} (let [node_key (value@ #key node)] - (cond (\ dict = node_key key) - ... (_\= node_key key) + (cond (# dict = node_key key) + ... (_#= node_key key) {.#Some (value@ #value node)} - (\ dict < node_key key) - ... (_\< node_key key) + (# dict < node_key key) + ... (_#< node_key key) (recur (value@ #left node)) - ... (_\> (value@ #key node) key) + ... (_#> (value@ #key node) key) (recur (value@ #right node)))) )))) @@ -83,7 +83,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]") (value@ #&order dict) + (let [... (^open "_#[0]") (value@ #&order dict) ] (loop [node (value@ #root dict)] (case node @@ -92,10 +92,10 @@ {.#Some node} (let [node_key (value@ #key node)] - (or (\ dict = node_key key) - ... (_\= node_key key) - (if (\ dict < node_key key) - ... (_\< node_key key) + (or (# dict = node_key key) + ... (_#= node_key key) + (if (# dict < node_key key) + ... (_#< node_key key) (recur (value@ #left node)) (recur (value@ #right node))))))))) @@ -249,7 +249,7 @@ (def: .public (has key value dict) (All (_ k v) (-> k v (Dictionary k v) (Dictionary k v))) - (let [(^open "_\[0]") (value@ #&order dict) + (let [(^open "_#[0]") (value@ #&order dict) root' (loop [?root (value@ #root dict)] (case ?root {.#None} @@ -266,11 +266,11 @@ {.#Some ( (maybe.trusted outcome) root)}))] - [_\< #left ..with_left] + [_#< #left ..with_left] [(order.> (value@ #&order dict)) #right ..with_right] )) - ... (_\= reference key) + ... (_#= reference key) {.#Some (with@ #value value root)} ))) ))] @@ -355,7 +355,7 @@ {.#Some (right_balanced (value@ #key right) (value@ #value right) (value@ #right right>>left) - (\ maybe.functor each reddened (value@ #right right)))}) + (# maybe.functor each reddened (value@ #right right)))}) _ (panic! error_message)) @@ -382,7 +382,7 @@ (value@ #value left>>right) {.#Some (left_balanced (value@ #key left) (value@ #value left) - (\ maybe.functor each reddened (value@ #left left)) + (# maybe.functor each reddened (value@ #left left)) (value@ #left left>>right))} {.#Some (black key value (value@ #right left>>right) ?right)}) @@ -472,7 +472,7 @@ (def: .public (lacks key dict) (All (_ k v) (-> k (Dictionary k v) (Dictionary k v))) - (let [(^open "_\[0]") (value@ #&order dict) + (let [(^open "_#[0]") (value@ #&order dict) [?root found?] (loop [?root (value@ #root dict)] (case ?root {.#None} @@ -481,11 +481,11 @@ {.#Some root} (let [root_key (value@ #key root) root_val (value@ #value root)] - (if (_\= root_key key) + (if (_#= root_key key) [(prepended (value@ #left root) (value@ #right root)) #1] - (let [go_left? (_\< root_key key)] + (let [go_left? (_#< root_key key)] (case (recur (if go_left? (value@ #left root) (value@ #right root))) @@ -536,7 +536,7 @@ (def: .public (of_list order list) (All (_ k v) (-> (Order k) (List [k v]) (Dictionary k v))) - (list\mix (function (_ [key value] dict) + (list#mix (function (_ [key value] dict) (has key value dict)) (empty order) list)) @@ -550,7 +550,7 @@ (list) {.#Some node'} - ($_ list\composite + ($_ list#composite (recur (value@ #left node')) (list ) (recur (value@ #right node'))))))] @@ -560,11 +560,11 @@ [values v (value@ #value node')] ) -(implementation: .public (equivalence (^open ",\[0]")) +(implementation: .public (equivalence (^open ",#[0]")) (All (_ k v) (-> (Equivalence v) (Equivalence (Dictionary k v)))) (def: (= reference sample) - (let [(^open "/\[0]") (value@ #&order reference)] + (let [(^open "/#[0]") (value@ #&order reference)] (loop [entriesR (entries reference) entriesS (entries sample)] (case [entriesR entriesS] @@ -572,8 +572,8 @@ #1 [{.#Item [keyR valueR] entriesR'} {.#Item [keyS valueS] entriesS'}] - (and (/\= keyR keyS) - (,\= valueR valueS) + (and (/#= keyR keyS) + (,#= valueR valueS) (recur entriesR' entriesS')) _ diff --git a/stdlib/source/library/lux/data/collection/dictionary/plist.lux b/stdlib/source/library/lux/data/collection/dictionary/plist.lux index 8ffa6682a..a429d56f9 100644 --- a/stdlib/source/library/lux/data/collection/dictionary/plist.lux +++ b/stdlib/source/library/lux/data/collection/dictionary/plist.lux @@ -5,9 +5,9 @@ [equivalence {"+" [Equivalence]}]] [data ["[0]" product] - ["[0]" text ("[1]\[0]" equivalence)] + ["[0]" text ("[1]#[0]" equivalence)] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [math [number ["n" nat]]]]]) @@ -35,14 +35,14 @@ {.#None} {.#Item [k' v'] properties'} - (if (text\= key k') + (if (text#= key k') {.#Some v'} (value key properties')))) (template [ ] [(def: .public (All (_ a) (-> (PList a) (List ))) - (list\each ))] + (list#each ))] [keys Text product.left] [values a product.right] @@ -64,7 +64,7 @@ (list [key val]) {.#Item [k' v'] properties'} - (if (text\= key k') + (if (text#= key k') {.#Item [key val] properties'} {.#Item [k' v'] @@ -77,7 +77,7 @@ {.#End} {.#Item [k' v'] properties'} - (if (text\= key k') + (if (text#= key k') {.#Item [k' (f v')] properties'} {.#Item [k' v'] (revised key f properties')}))) @@ -88,7 +88,7 @@ properties {.#Item [k' v'] properties'} - (if (text\= key k') + (if (text#= key k') properties' {.#Item [k' v'] (lacks key properties')}))) diff --git a/stdlib/source/library/lux/data/collection/list.lux b/stdlib/source/library/lux/data/collection/list.lux index 4232af895..e6a7ced34 100644 --- a/stdlib/source/library/lux/data/collection/list.lux +++ b/stdlib/source/library/lux/data/collection/list.lux @@ -290,7 +290,7 @@ #1 [{.#Item x xs'} {.#Item y ys'}] - (and (\ Equivalence = x y) + (and (# Equivalence = x y) (= xs' ys')) [_ _] @@ -301,12 +301,12 @@ (All (_ a) (-> (Hash a) (Hash (List a)))) (def: &equivalence - (..equivalence (\ super &equivalence))) + (..equivalence (# super &equivalence))) (def: hash - (\ ..mix mix + (# ..mix mix (function (_ member hash) - (n.+ (\ super hash member) hash)) + (n.+ (# super hash member) hash)) 0))) (implementation: .public monoid @@ -394,7 +394,7 @@ #0 {.#Item x' xs'} - (or (\ eq = x x') + (or (# eq = x x') (member? eq xs' x)))) (template [ ] @@ -421,7 +421,7 @@ (-> Text Code) [["" 0 0] {.#Identifier "" name}]) -(def: (nat\encoded value) +(def: (nat#encoded value) (-> Nat Text) (loop [input value output ""] @@ -449,7 +449,7 @@ (if (n.> 0 num_lists) (let [(^open "[0]") ..functor indices (..indices num_lists) - type_vars (: (List Code) (each (|>> nat\encoded identifier$) indices)) + type_vars (: (List Code) (each (|>> nat#encoded identifier$) indices)) zipped_type (` (.All ((~ (identifier$ "0_")) (~+ type_vars)) (-> (~+ (each (: (-> Code Code) (function (_ var) (` (List (~ var))))) type_vars)) @@ -457,7 +457,7 @@ vars+lists (|> indices (each ++) (each (function (_ idx) - (let [base (nat\encoded idx)] + (let [base (nat#encoded idx)] [(identifier$ base) (identifier$ ("lux text concat" base "'"))])))) pattern (` [(~+ (each (function (_ [v vs]) (` {.#Item (~ v) (~ vs)})) @@ -491,7 +491,7 @@ indices (..indices num_lists) g!return_type (identifier$ "0return_type0") g!func (identifier$ "0func0") - type_vars (: (List Code) (each (|>> nat\encoded identifier$) indices)) + type_vars (: (List Code) (each (|>> nat#encoded identifier$) indices)) zipped_type (` (All ((~ (identifier$ "0_")) (~+ type_vars) (~ g!return_type)) (-> (-> (~+ type_vars) (~ g!return_type)) (~+ (each (: (-> Code Code) (function (_ var) (` (List (~ var))))) @@ -500,7 +500,7 @@ vars+lists (|> indices (each ++) (each (function (_ idx) - (let [base (nat\encoded idx)] + (let [base (nat#encoded idx)] [(identifier$ base) (identifier$ ("lux text concat" base "'"))])))) pattern (` [(~+ (each (function (_ [v vs]) (` {.#Item (~ v) (~ vs)})) @@ -558,7 +558,7 @@ (def: .public together (All (_ a) (-> (List (List a)) (List a))) - (\ ..monad conjoint)) + (# ..monad conjoint)) (implementation: .public (with monad) (All (_ M) (-> (Monad M) (Monad (All (_ a) (M (List a)))))) @@ -568,7 +568,7 @@ ..functor)) (def: in - (|>> (\ ..monad in) (\ monad in))) + (|>> (# ..monad in) (# monad in))) (def: (conjoint MlMla) (do [! monad] @@ -583,7 +583,7 @@ (def: .public (lifted monad) (All (_ M a) (-> (Monad M) (-> (M a) (M (List a))))) - (\ monad each (\ ..monad in))) + (# monad each (# ..monad in))) (def: .public (enumeration xs) (All (_ a) (-> (List a) (List [Nat a]))) diff --git a/stdlib/source/library/lux/data/collection/queue.lux b/stdlib/source/library/lux/data/collection/queue.lux index 4fc1e31a1..a60f9613e 100644 --- a/stdlib/source/library/lux/data/collection/queue.lux +++ b/stdlib/source/library/lux/data/collection/queue.lux @@ -6,7 +6,7 @@ [functor {"+" [Functor]}]] [data [collection - ["[0]" list ("[1]\[0]" monoid functor)]]] + ["[0]" list ("[1]#[0]" monoid functor)]]] [math [number ["n" nat]]]]]) @@ -29,7 +29,7 @@ (def: .public (list queue) (All (_ a) (-> (Queue a) (List a))) (let [(^slots [#front #rear]) queue] - (list\composite #front (list.reversed #rear)))) + (list#composite #front (list.reversed #rear)))) (def: .public front (All (_ a) (-> (Queue a) (Maybe a))) @@ -82,7 +82,7 @@ (All (_ a) (-> (Equivalence a) (Equivalence (Queue a)))) (def: (= reference subject) - (\ (list.equivalence super) = + (# (list.equivalence super) = (..list reference) (..list subject)))) @@ -90,5 +90,5 @@ (Functor Queue) (def: (each f fa) - [#front (|> fa (value@ #front) (list\each f)) - #rear (|> fa (value@ #rear) (list\each f))])) + [#front (|> fa (value@ #front) (list#each f)) + #rear (|> fa (value@ #rear) (list#each f))])) diff --git a/stdlib/source/library/lux/data/collection/queue/priority.lux b/stdlib/source/library/lux/data/collection/queue/priority.lux index e9069fa5e..cc2ecdb7c 100644 --- a/stdlib/source/library/lux/data/collection/queue/priority.lux +++ b/stdlib/source/library/lux/data/collection/queue/priority.lux @@ -12,7 +12,7 @@ ["[1]" finger {"+" [Tree]}]]]] [math [number - ["n" nat ("[1]\[0]" interval)]]] + ["n" nat ("[1]#[0]" interval)]]] [type {"+" [:by_example]} [abstract {"+" [abstract: :abstraction :representation]}]]]]) @@ -21,11 +21,11 @@ (def: .public max Priority - n\top) + n#top) (def: .public min Priority - n\bottom) + n#bottom) (def: builder (tree.builder n.maximum)) @@ -76,7 +76,7 @@ (loop [node tree] (case (tree.root node) {0 #0 reference} - (\ equivalence = reference member) + (# equivalence = reference member) {0 #1 [left right]} (or (recur left) @@ -102,24 +102,24 @@ {.#Some right} {.#Some =left} - {.#Some (\ ..builder branch =left right)}) + {.#Some (# ..builder branch =left right)}) (case (recur right) {.#None} {.#Some left} {.#Some =right} - {.#Some (\ ..builder branch left =right)}))))))) + {.#Some (# ..builder branch left =right)}))))))) (def: .public (end priority value queue) (All (_ a) (-> Priority a (Queue a) (Queue a))) - (let [addition (\ ..builder leaf priority value)] + (let [addition (# ..builder leaf priority value)] (:abstraction (case (:representation queue) {.#None} {.#Some addition} {.#Some tree} - {.#Some (\ ..builder branch tree addition)})))) + {.#Some (# ..builder branch tree addition)})))) ) (def: .public empty? diff --git a/stdlib/source/library/lux/data/collection/row.lux b/stdlib/source/library/lux/data/collection/row.lux index a39ea8af3..d6b4bba5e 100644 --- a/stdlib/source/library/lux/data/collection/row.lux +++ b/stdlib/source/library/lux/data/collection/row.lux @@ -22,8 +22,8 @@ [data ["[0]" product] [collection - ["[0]" list ("[1]\[0]" mix functor monoid)] - ["[0]" array {"+" [Array]} ("[1]\[0]" functor mix)]]] + ["[0]" list ("[1]#[0]" mix functor monoid)] + ["[0]" array {"+" [Array]} ("[1]#[0]" functor mix)]]] [macro [syntax {"+" [syntax:]}] ["[0]" code]] @@ -132,13 +132,13 @@ (array.copy! tail_size 0 tail 0) (array.write! tail_size val)))) -(def: (hierarchy\has level idx val hierarchy) +(def: (hierarchy#has level idx val hierarchy) (All (_ a) (-> Level Index a (Hierarchy a) (Hierarchy a))) (let [sub_idx (branch_idx (i64.right_shifted level idx))] (case (array.read! sub_idx hierarchy) {.#Some {#Hierarchy sub_node}} (|> (array.clone hierarchy) - (array.write! sub_idx {#Hierarchy (hierarchy\has (level_down level) idx val sub_node)})) + (array.write! sub_idx {#Hierarchy (hierarchy#has (level_down level) idx val sub_node)})) (^multi {.#Some {#Base base}} (n.= 0 (level_down level))) @@ -175,7 +175,7 @@ {.#Some}) ))) -(def: (node\list node) +(def: (node#list node) (All (_ a) (-> (Node a) (List a))) (case node {#Base base} @@ -185,8 +185,8 @@ (|> hierarchy (array.list {.#None}) list.reversed - (list\mix (function (_ sub acc) - (list\composite (node\list sub) acc)) + (list#mix (function (_ sub acc) + (list#composite (node#list sub) acc)) {.#End})))) (type: .public (Row a) @@ -244,8 +244,8 @@ (exception: .public [a] (index_out_of_bounds [row (Row a) index Nat]) - (exception.report ["Size" (\ n.decimal encoded (value@ #size row))] - ["Index" (\ n.decimal encoded index)])) + (exception.report ["Size" (# n.decimal encoded (value@ #size row))] + ["Index" (# n.decimal encoded index)])) (exception: base_was_not_found) @@ -291,7 +291,7 @@ (let [row_size (value@ #size row)] (if (within_bounds? row idx) {try.#Success (if (n.< (tail_off row_size) idx) - (revised@ #root (hierarchy\has (value@ #level row) idx val) + (revised@ #root (hierarchy#has (value@ #level row) idx val) row) (revised@ #tail (for [@.old (: (-> (Base (:parameter 0)) (Base (:parameter 0))) @@ -350,12 +350,12 @@ (def: .public (list row) (All (_ a) (-> (Row a) (List a))) - (list\composite (node\list {#Hierarchy (value@ #root row)}) - (node\list {#Base (value@ #tail row)}))) + (list#composite (node#list {#Hierarchy (value@ #root row)}) + (node#list {#Base (value@ #tail row)}))) (def: .public of_list (All (_ a) (-> (List a) (Row a))) - (list\mix ..suffix ..empty)) + (list#mix ..suffix ..empty)) (def: .public (member? equivalence row val) (All (_ a) (-> (Equivalence a) (Row a) a Bit)) @@ -374,10 +374,10 @@ (def: (= v1 v2) (case [v1 v2] [{#Base b1} {#Base b2}] - (\ (array.equivalence Equivalence) = b1 b2) + (# (array.equivalence Equivalence) = b1 b2) [{#Hierarchy h1} {#Hierarchy h2}] - (\ (array.equivalence (node_equivalence Equivalence)) = h1 h2) + (# (array.equivalence (node_equivalence Equivalence)) = h1 h2) _ #0))) @@ -387,10 +387,10 @@ (def: (= v1 v2) (and (n.= (value@ #size v1) (value@ #size v2)) - (let [(^open "node\[0]") (node_equivalence Equivalence)] - (and (node\= {#Base (value@ #tail v1)} + (let [(^open "node#[0]") (node_equivalence Equivalence)] + (and (node#= {#Base (value@ #tail v1)} {#Base (value@ #tail v2)}) - (node\= {#Hierarchy (value@ #root v1)} + (node#= {#Hierarchy (value@ #root v1)} {#Hierarchy (value@ #root v2)})))))) (implementation: node_mix @@ -399,10 +399,10 @@ (def: (mix f init xs) (case xs {#Base base} - (array\mix f init base) + (array#mix f init base) {#Hierarchy hierarchy} - (array\mix (function (_ node init') (mix f init' node)) + (array#mix (function (_ node init') (mix f init' node)) init hierarchy)))) @@ -423,7 +423,7 @@ (def: identity ..empty) (def: (composite xs ys) - (list\mix suffix xs (..list ys)))) + (list#mix suffix xs (..list ys)))) (implementation: node_functor (Functor Node) @@ -431,10 +431,10 @@ (def: (each f xs) (case xs {#Base base} - {#Base (array\each f base)} + {#Base (array#each f base)} {#Hierarchy hierarchy} - {#Hierarchy (array\each (each f) hierarchy)}))) + {#Hierarchy (array#each (each f) hierarchy)}))) (implementation: .public functor (Functor Row) @@ -442,8 +442,8 @@ (def: (each f xs) [#level (value@ #level xs) #size (value@ #size xs) - #root (|> xs (value@ #root) (array\each (\ node_functor each f))) - #tail (|> xs (value@ #tail) (array\each f))])) + #root (|> xs (value@ #root) (array#each (# node_functor each f))) + #tail (|> xs (value@ #tail) (array#each f))])) (implementation: .public apply (Apply Row) @@ -475,7 +475,7 @@ (All (_ a) (-> (Row a) (Row a))) (|>> ..list list.reversed - (list\mix suffix ..empty))) + (list#mix suffix ..empty))) (template [ ] [(def: .public diff --git a/stdlib/source/library/lux/data/collection/sequence.lux b/stdlib/source/library/lux/data/collection/sequence.lux index fccc576df..c482ad8dc 100644 --- a/stdlib/source/library/lux/data/collection/sequence.lux +++ b/stdlib/source/library/lux/data/collection/sequence.lux @@ -14,7 +14,7 @@ [data ["[0]" bit] [collection - ["[0]" list ("[1]\[0]" monad)]]] + ["[0]" list ("[1]#[0]" monad)]]] [math [number ["n" nat]]]]]) @@ -132,9 +132,9 @@ branches (<>.some .any)]) (with_identifiers [g!sequence] (let [body+ (` (let [(~+ (|> patterns - (list\each (function (_ pattern) + (list#each (function (_ pattern) (list (` [(~ pattern) (~ g!sequence)]) (` ((~! //.result) (~ g!sequence)))))) - list\conjoint))] + list#conjoint))] (~ body)))] (in (list& g!sequence body+ branches))))) diff --git a/stdlib/source/library/lux/data/collection/set.lux b/stdlib/source/library/lux/data/collection/set.lux index 585ee60eb..b921444ff 100644 --- a/stdlib/source/library/lux/data/collection/set.lux +++ b/stdlib/source/library/lux/data/collection/set.lux @@ -8,7 +8,7 @@ [monoid {"+" [Monoid]}]] [data [collection - ["[0]" list ("[1]\[0]" mix)]]] + ["[0]" list ("[1]#[0]" mix)]]] [math [number ["n" nat]]]]] @@ -52,7 +52,7 @@ (def: .public (difference sub base) (All (_ a) (-> (Set a) (Set a) (Set a))) - (list\mix ..lacks base (..list sub))) + (list#mix ..lacks base (..list sub))) (def: .public (intersection filter base) (All (_ a) (-> (Set a) (Set a) (Set a))) @@ -76,7 +76,7 @@ (def: (hash set) (|> set ..list - (\ (list.hash (..member_hash set)) hash)))) + (# (list.hash (..member_hash set)) hash)))) (implementation: .public (monoid hash) (All (_ a) (-> (Hash a) (Monoid (Set a)))) @@ -90,7 +90,7 @@ (def: .public (of_list hash elements) (All (_ a) (-> (Hash a) (List a) (Set a))) - (list\mix ..has (..empty hash) elements)) + (list#mix ..has (..empty hash) elements)) (def: .public (sub? super sub) (All (_ a) (-> (Set a) (Set a) Bit)) diff --git a/stdlib/source/library/lux/data/collection/set/multi.lux b/stdlib/source/library/lux/data/collection/set/multi.lux index b325c793a..38c1e81af 100644 --- a/stdlib/source/library/lux/data/collection/set/multi.lux +++ b/stdlib/source/library/lux/data/collection/set/multi.lux @@ -15,7 +15,7 @@ [abstract {"+" [abstract: :abstraction :representation ^:representation]}]]]] ["[0]" // [// - ["[0]" list ("[1]\[0]" mix monoid)] + ["[0]" list ("[1]#[0]" mix monoid)] ["[0]" dictionary {"+" [Dictionary]}]]]) (abstract: .public (Set a) @@ -27,7 +27,7 @@ (def: .public size (All (_ a) (-> (Set a) Nat)) - (|>> :representation dictionary.values (list\mix n.+ 0))) + (|>> :representation dictionary.values (list#mix n.+ 0))) (def: .public (has multiplicity elem set) (All (_ a) (-> Nat a (Set a) (Set a))) @@ -60,8 +60,8 @@ (All (_ a) (-> (Set a) (List a))) (|>> :representation dictionary.entries - (list\mix (function (_ [elem multiplicity] output) - (list\composite (list.repeated multiplicity elem) output)) + (list#mix (function (_ [elem multiplicity] output) + (list#composite (list.repeated multiplicity elem) output)) {.#End}))) (template [ ] @@ -75,7 +75,7 @@ (def: .public (intersection parameter (^:representation subject)) (All (_ a) (-> (Set a) (Set a) (Set a))) - (list\mix (function (_ [elem multiplicity] output) + (list#mix (function (_ [elem multiplicity] output) (..has (n.min (..multiplicity parameter elem) multiplicity) elem @@ -88,7 +88,7 @@ (|> parameter :representation dictionary.entries - (list\mix (function (_ [elem multiplicity] output) + (list#mix (function (_ [elem multiplicity] output) (..lacks multiplicity elem output)) subject))) @@ -129,8 +129,8 @@ (def: (hash (^:representation set)) (let [[hash _] set] - (list\mix (function (_ [elem multiplicity] acc) - (|> elem (\ hash hash) (n.* multiplicity) (n.+ acc))) + (list#mix (function (_ [elem multiplicity] acc) + (|> elem (# hash hash) (n.* multiplicity) (n.+ acc))) 0 (dictionary.entries set))))) ) @@ -145,7 +145,7 @@ (def: .public (of_list hash subject) (All (_ a) (-> (Hash a) (List a) (Set a))) - (list\mix (..has 1) (..empty hash) subject)) + (list#mix (..has 1) (..empty hash) subject)) (def: .public (of_set subject) (All (_ a) (-> (//.Set a) (Set a))) diff --git a/stdlib/source/library/lux/data/collection/set/ordered.lux b/stdlib/source/library/lux/data/collection/set/ordered.lux index 2fea2876a..965d85c28 100644 --- a/stdlib/source/library/lux/data/collection/set/ordered.lux +++ b/stdlib/source/library/lux/data/collection/set/ordered.lux @@ -6,7 +6,7 @@ [order {"+" [Order]}]] [data [collection - ["[0]" list ("[1]\[0]" mix)] + ["[0]" list ("[1]#[0]" mix)] [dictionary ["/" ordered]]]] [type @@ -48,11 +48,11 @@ (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))) - (list\mix ..has right (..list left))) + (list#mix ..has right (..list left))) (def: .public (intersection left right) (All (_ a) (-> (Set a) (Set a) (Set a))) @@ -70,7 +70,7 @@ (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/stack.lux b/stdlib/source/library/lux/data/collection/stack.lux index 8c55178f9..a64bb17e9 100644 --- a/stdlib/source/library/lux/data/collection/stack.lux +++ b/stdlib/source/library/lux/data/collection/stack.lux @@ -53,7 +53,7 @@ (Equivalence (Stack a)))) (def: (= reference subject) - (\ (//.equivalence super) = (:representation reference) (:representation subject)))) + (# (//.equivalence super) = (:representation reference) (:representation subject)))) (implementation: .public functor (Functor Stack) @@ -61,6 +61,6 @@ (def: (each f value) (|> value :representation - (\ //.functor each f) + (# //.functor each f) :abstraction))) ) diff --git a/stdlib/source/library/lux/data/collection/tree.lux b/stdlib/source/library/lux/data/collection/tree.lux index 4beb81cf3..9fd7d6cc7 100644 --- a/stdlib/source/library/lux/data/collection/tree.lux +++ b/stdlib/source/library/lux/data/collection/tree.lux @@ -11,7 +11,7 @@ ["<[0]>" code {"+" [Parser]}]]] [data [collection - ["[0]" list ("[1]\[0]" monad mix)]]] + ["[0]" list ("[1]#[0]" monad mix)]]] [macro [syntax {"+" [syntax:]}] ["[0]" code]]]]) @@ -25,8 +25,8 @@ (All (_ a) (-> (Tree a) (List a))) (|> tree (value@ #children) - (list\each flat) - list\conjoint + (list#each flat) + list#conjoint {.#Item (value@ #value tree)})) (def: .public (leaf value) @@ -57,28 +57,28 @@ (syntax: .public (tree [root tree^]) (in (list (` (~ (loop [[value children] root] (` [#value (~ value) - #children (list (~+ (list\each recur children)))]))))))) + #children (list (~+ (list#each recur children)))]))))))) (implementation: .public (equivalence super) (All (_ a) (-> (Equivalence a) (Equivalence (Tree a)))) (def: (= tx ty) - (and (\ super = (value@ #value tx) (value@ #value ty)) - (\ (list.equivalence (equivalence super)) = (value@ #children tx) (value@ #children ty))))) + (and (# super = (value@ #value tx) (value@ #value ty)) + (# (list.equivalence (equivalence super)) = (value@ #children tx) (value@ #children ty))))) (implementation: .public functor (Functor Tree) (def: (each f fa) [#value (f (value@ #value fa)) - #children (list\each (each f) + #children (list#each (each f) (value@ #children fa))])) (implementation: .public mix (Mix Tree) (def: (mix f init tree) - (list\mix (function (_ tree' init') (mix f init' tree')) + (list#mix (function (_ tree' init') (mix f init' tree')) (f (value@ #value tree) init) (value@ #children tree)))) diff --git a/stdlib/source/library/lux/data/collection/tree/finger.lux b/stdlib/source/library/lux/data/collection/tree/finger.lux index 01e125e9d..8399577f4 100644 --- a/stdlib/source/library/lux/data/collection/tree/finger.lux +++ b/stdlib/source/library/lux/data/collection/tree/finger.lux @@ -6,7 +6,7 @@ ["[0]" monoid {"+" [Monoid]}]] [data [collection - ["[0]" list ("[1]\[0]" monoid)]]] + ["[0]" list ("[1]#[0]" monoid)]]] [type [abstract {"+" [abstract: :abstraction :representation]}]]]]) @@ -50,7 +50,7 @@ (def: (branch left right) (:abstraction [#monoid monoid - #tag (\ monoid composite (..tag left) (..tag right)) + #tag (# monoid composite (..tag left) (..tag right)) #root {0 #1 [left right]}]))) (def: .public (value tree) @@ -69,7 +69,7 @@ (list (value@ #tag (:representation tree))) {0 #1 [left right]} - (list\composite (tags left) + (list#composite (tags left) (tags right)))) (def: .public (values tree) @@ -79,7 +79,7 @@ (list value) {0 #1 [left right]} - (list\composite (values left) + (list#composite (values left) (values right)))) (def: .public (one predicate tree) diff --git a/stdlib/source/library/lux/data/collection/tree/zipper.lux b/stdlib/source/library/lux/data/collection/tree/zipper.lux index 767365e6f..ef9e8b662 100644 --- a/stdlib/source/library/lux/data/collection/tree/zipper.lux +++ b/stdlib/source/library/lux/data/collection/tree/zipper.lux @@ -8,14 +8,14 @@ [monad {"+" [do]}] [equivalence {"+" [Equivalence]}]] [control - ["[0]" maybe ("[1]\[0]" monad)]] + ["[0]" maybe ("[1]#[0]" monad)]] [data ["[0]" product] [text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" functor monoid)]]]]] - ["[0]" // {"+" [Tree]} ("[1]\[0]" functor)]) + ["[0]" list ("[1]#[0]" functor monoid)]]]]] + ["[0]" // {"+" [Tree]} ("[1]#[0]" functor)]) (type: (Family Zipper a) (Record @@ -106,12 +106,12 @@ (for [@.old (revised@ #node (: (-> (Tree (:parameter 0)) (Tree (:parameter 0))) - (with@ //.#children (list\composite (list.reversed #lefts) + (with@ //.#children (list#composite (list.reversed #lefts) {.#Item (value@ #node zipper) #rights}))) #parent)] (with@ [#node //.#children] - (list\composite (list.reversed #lefts) + (list#composite (list.reversed #lefts) {.#Item (value@ #node zipper) #rights}) #parent)))))) @@ -156,13 +156,13 @@ {.#Some (for [@.old [#family {.#Some (|> family (with@ {.#End}) (revised@ (|>> {.#Item (value@ #node zipper)} - (list\composite prevs))))} + (list#composite prevs))))} #node last]] (let [move (: (All (_ a) (-> (List (Tree a)) (Zipper a) (Family Zipper a) (Family Zipper a))) (function (_ prevs zipper) (|>> (with@ {.#End}) (revised@ (|>> {.#Item (value@ #node zipper)} - (list\composite prevs))))))] + (list#composite prevs))))))] [#family {.#Some (move prevs zipper family)} #node last]))})))] @@ -293,12 +293,12 @@ (Functor Zipper) (def: (each f (^slots [#family #node])) - [#family (maybe\each (function (_ (^slots [#parent #lefts #rights])) + [#family (maybe#each (function (_ (^slots [#parent #lefts #rights])) [#parent (each f #parent) - #lefts (list\each (//\each f) #lefts) - #rights (list\each (//\each f) #rights)]) + #lefts (list#each (//#each f) #lefts) + #rights (list#each (//#each f) #rights)]) #family) - #node (//\each f #node)])) + #node (//#each f #node)])) (implementation: .public comonad (CoMonad Zipper) @@ -315,10 +315,10 @@ [//.#value (..zipper tree) //.#children (|> tree (value@ //.#children) - (list\each tree_splitter))]))] - [#family (maybe\each (function (_ (^slots [#parent #lefts #rights])) + (list#each tree_splitter))]))] + [#family (maybe#each (function (_ (^slots [#parent #lefts #rights])) [..#parent (disjoint #parent) - ..#lefts (list\each tree_splitter #lefts) - ..#rights (list\each tree_splitter #rights)]) + ..#lefts (list#each tree_splitter #lefts) + ..#rights (list#each tree_splitter #rights)]) #family) #node (tree_splitter #node)]))) diff --git a/stdlib/source/library/lux/data/color.lux b/stdlib/source/library/lux/data/color.lux index 52581fbc8..648535721 100644 --- a/stdlib/source/library/lux/data/color.lux +++ b/stdlib/source/library/lux/data/color.lux @@ -10,13 +10,13 @@ ["<[0]>" code]]] [data [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] ["[0]" math [number ["n" nat] ["f" frac] ["[0]" int] - ["[0]" rev ("[1]\[0]" interval)] + ["[0]" rev ("[1]#[0]" interval)] ["[0]" i64]]] [type abstract]]]) @@ -395,7 +395,7 @@ Palette (let [[hue saturation brightness] (hsb color) spread (..normal spread)] - (list\each (function (_ idx) + (list#each (function (_ idx) (of_hsb [(|> idx ++ .int int.frac (f.* spread) (f.+ hue) ..normal) saturation brightness])) @@ -406,7 +406,7 @@ (let [[hue saturation brightness] (hsb color) spread (..normal spread)] (|> (list.indices variations) - (list\each (|>> ++ .int int.frac + (list#each (|>> ++ .int int.frac (f.* spread) (f.+ brightness) ..normal @@ -418,7 +418,7 @@ (def: .public transparent Alpha - rev\bottom) + rev#bottom) (def: .public translucent Alpha @@ -426,7 +426,7 @@ (def: .public opaque Alpha - rev\top) + rev#top) (type: .public Pigment (Record diff --git a/stdlib/source/library/lux/data/format/binary.lux b/stdlib/source/library/lux/data/format/binary.lux index 8905c32bf..55bf4bb79 100644 --- a/stdlib/source/library/lux/data/format/binary.lux +++ b/stdlib/source/library/lux/data/format/binary.lux @@ -9,7 +9,7 @@ [pipe {"+" [case>]}] ["[0]" function] ["[0]" try {"+" [Try]}] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["/" binary {"+" [Offset Size Parser]}]]] [data ["[0]" product] @@ -20,7 +20,7 @@ ["[0]" utf8]]] [collection ["[0]" list] - ["[0]" row {"+" [Row]} ("[1]\[0]" functor)] + ["[0]" row {"+" [Row]} ("[1]#[0]" functor)] ["[0]" set {"+" [Set]}]]] [math [number @@ -101,7 +101,7 @@ (def: .public (and pre post) (All (_ a b) (-> (Writer a) (Writer b) (Writer [a b]))) (function (_ [preV postV]) - (\ ..monoid composite (pre preV) (post postV)))) + (# ..monoid composite (pre preV) (post postV)))) (def: .public (rec body) (All (_ a) (-> (-> (Writer a) (Writer a)) (Writer a))) @@ -165,7 +165,7 @@ (template [ ] [(def: .public (Writer Text) - (|>> (\ utf8.codec encoded) ))] + (|>> (# utf8.codec encoded) ))] [utf8/8 ..binary/8] [utf8/16 ..binary/16] @@ -185,13 +185,13 @@ value (if (n.= original_count capped_count) value (|> value row.list (list.first capped_count) row.of_list)) - (^open "specification\[0]") ..monoid + (^open "specification#[0]") ..monoid [size mutation] (|> value - (row\each valueW) - (\ row.mix mix + (row#each valueW) + (# row.mix mix (function (_ post pre) - (specification\composite pre post)) - specification\identity))] + (specification#composite pre post)) + specification#identity))] [(n.+ size) (function (_ [offset binary]) (try.trusted diff --git a/stdlib/source/library/lux/data/format/css.lux b/stdlib/source/library/lux/data/format/css.lux index 90cb8ad54..8d44055ea 100644 --- a/stdlib/source/library/lux/data/format/css.lux +++ b/stdlib/source/library/lux/data/format/css.lux @@ -10,7 +10,7 @@ ["%" format {"+" [format]}] ["[0]" encoding {"+" [Encoding]}]] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [type abstract] [world @@ -51,8 +51,8 @@ (-> Font (CSS Special)) (let [with_unicode (case (value@ /font.#unicode_range font) {.#Some unicode_range} - (let [unicode_range' (format "U+" (\ nat.hex encoded (value@ /font.#start unicode_range)) - "-" (\ nat.hex encoded (value@ /font.#end unicode_range)))] + (let [unicode_range' (format "U+" (# nat.hex encoded (value@ /font.#start unicode_range)) + "-" (# nat.hex encoded (value@ /font.#end unicode_range)))] (list ["unicode-range" unicode_range'])) {.#None} @@ -63,7 +63,7 @@ ["font-style" (|> font (value@ /font.#style) (maybe.else /value.normal_style) /value.value)] ["font-weight" (|> font (value@ /font.#weight) (maybe.else /value.normal_weight) /value.value)] with_unicode) - (list\each (function (_ [property value]) + (list#each (function (_ [property value]) (format property ": " value ";"))) (text.interposed /style.separator) (text.enclosed ["{" "}"]) @@ -93,7 +93,7 @@ (-> (Value Animation) (List Frame) (CSS Special)) (:abstraction (format "@keyframes " (/value.value animation) " {" (|> frames - (list\each (function (_ frame) + (list#each (function (_ frame) (format (/value.percentage (value@ #when frame)) " {" (/style.inline (value@ #what frame)) "}"))) @@ -113,7 +113,7 @@ (|> css :representation (text.all_split_by ..css_separator) - (list\each (|>> (format (/selector.selector (|> selector (combinator (/selector.tag ""))))))) + (list#each (|>> (format (/selector.selector (|> selector (combinator (/selector.tag ""))))))) (text.interposed ..css_separator) :abstraction)) diff --git a/stdlib/source/library/lux/data/format/css/value.lux b/stdlib/source/library/lux/data/format/css/value.lux index ba082cb05..7817c9769 100644 --- a/stdlib/source/library/lux/data/format/css/value.lux +++ b/stdlib/source/library/lux/data/format/css/value.lux @@ -16,7 +16,7 @@ ["[0]" text ["%" format {"+" [Format format]}]] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [type abstract] [macro @@ -800,7 +800,7 @@ (def: .public (cubic_bezier p0 p1 p2 p3) (-> Frac Frac Frac Frac (Value Timing)) (|> (list p0 p1 p2 p3) - (list\each %number) + (list#each %number) (..apply "cubic-bezier"))) (template [ ] @@ -832,7 +832,7 @@ (..apply "rgba" (list (%.nat red) (%.nat green) (%.nat blue) - (if (r.= (\ r.interval top) alpha) + (if (r.= (# r.interval top) alpha) "1.0" (format "0" (%.rev alpha))))))) @@ -962,7 +962,7 @@ (let [[now after] next] (..apply (list& (:representation Angle angle) (with_hint now) - (list\each with_hint after)))))] + (list#each with_hint after)))))] [linear_gradient "linear-gradient"] [repeating_linear_gradient "repeating-linear-gradient"] @@ -1087,7 +1087,7 @@ [now after] next] (..apply (list& (..shape shape) (with_hint now) - (list\each with_hint after)))))] + (list#each with_hint after)))))] [radial_gradient "radial-gradient"] [repeating_radial_gradient "repeating-radial-gradient"] @@ -1160,7 +1160,7 @@ (case options {.#Item _} (|> options - (list\each ..font_name) + (list#each ..font_name) (text.interposed ",") (:abstraction Value)) @@ -1199,7 +1199,7 @@ (-> (List (List (Maybe (Value Grid)))) (Value Grid_Template)) (let [empty (: (Value Grid) (:abstraction "."))] - (|>> (list\each (|>> (list\each (|>> (maybe.else empty) + (|>> (list#each (|>> (list#each (|>> (maybe.else empty) :representation)) (text.interposed ..grid_column_separator) (text.enclosed ["'" "'"]))) @@ -1236,7 +1236,7 @@ (def: .public (quotes [left0 right0] [left1 right1]) (-> [Quote Quote] [Quote Quote] (Value Quotes)) (|> (list left0 right0 left1 right1) - (list\each (|>> ..quote_text %.text)) + (list#each (|>> ..quote_text %.text)) (text.interposed ..quote_separator) :abstraction)) @@ -1246,7 +1246,7 @@ [Frac Frac] (Value Transform)) (|> (list a b c d tx ty) - (list\each %number) + (list#each %number) (..apply "matrix"))) (def: .public (matrix_3d [a0 b0 c0 d0] [a1 b1 c1 d1] [a2 b2 c2 d2] [a3 b3 c3 d3]) @@ -1256,14 +1256,14 @@ [Frac Frac Frac Frac] (Value Transform)) (|> (list a0 b0 c0 d0 a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3) - (list\each %number) + (list#each %number) (..apply "matrix3d"))) (template [ ] [(`` (def: .public ( [(~~ (template.spliced ))]) (-> [(~~ (template.spliced ))] (Value Transform)) (|> (list (~~ (template.spliced ))) - (list\each %number) + (list#each %number) (..apply ))))] [translate_2d "translate" [Frac Frac] [x y]] @@ -1285,7 +1285,7 @@ [(`` (def: .public ( [(~~ (template.spliced ))]) (-> [(~~ (template.spliced ))] (Value Transform)) (|> (list (~~ (template.spliced ))) - (list\each ..angle) + (list#each ..angle) (..apply ))))] [rotate_2d "rotate" [Angle] [angle]] diff --git a/stdlib/source/library/lux/data/format/html.lux b/stdlib/source/library/lux/data/format/html.lux index 60c405963..1813d46db 100644 --- a/stdlib/source/library/lux/data/format/html.lux +++ b/stdlib/source/library/lux/data/format/html.lux @@ -3,13 +3,13 @@ [lux {"-" [Meta Source comment and]} [control ["[0]" function] - ["[0]" maybe ("[1]\[0]" functor)]] + ["[0]" maybe ("[1]#[0]" functor)]] [data ["[0]" product] ["[0]" text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" functor mix)]]] + ["[0]" list ("[1]#[0]" functor mix)]]] [type abstract] [host @@ -64,7 +64,7 @@ (def: attributes (-> Attributes Text) - (|>> (list\each (function (_ [key val]) + (|>> (list#each (function (_ [key val]) (format key "=" text.double_quote (..safe val) text.double_quote))) (text.interposed " "))) @@ -190,7 +190,7 @@ (def: .public (script attributes inline) (-> Attributes (Maybe Script) Meta) (|> inline - (maybe\each js.code) + (maybe#each js.code) (maybe.else "") (..raw "script" attributes))) @@ -219,7 +219,7 @@ (def: .public (svg attributes content) (-> Attributes XML Element) (|> content - (\ xml.codec encoded) + (# xml.codec encoded) (..raw "svg" attributes))) (type: .public Coord @@ -262,7 +262,7 @@ (def: (%polygon [first second third extra]) (Format Polygon) (|> (list& first second third extra) - (list\each %coord) + (list#each %coord) (text.interposed ..coord_separator))) (type: .public Shape @@ -299,13 +299,13 @@ (-> Attributes (List [Attributes Shape]) Image Image) ($_ ..and for - (case (list\each (product.uncurried ..area) areas) + (case (list#each (product.uncurried ..area) areas) {.#End} (..empty "map" attributes) {.#Item head tail} (..tag "map" attributes - (list\mix (function.flipped ..and) head tail))))) + (list#mix (function.flipped ..and) head tail))))) (template [ ] [(def: .public @@ -461,7 +461,7 @@ (def: .public (description_list attributes descriptions) (-> Attributes (List [Content Element]) Element) - (case (list\each (function (_ [term description]) + (case (list#each (function (_ [term description]) ($_ ..and (..term term) (..description description))) @@ -471,7 +471,7 @@ {.#Item head tail} (..tag "dl" attributes - (list\mix (function.flipped ..and) head tail)))) + (list#mix (function.flipped ..and) head tail)))) (def: .public p ..paragraph) @@ -523,14 +523,14 @@ (def: .public (table attributes caption columns headers rows footer) (-> Attributes (Maybe Content) (Maybe Column) Header (List Cell) (Maybe Cell) Element) (let [head (..table_head (..table_row headers)) - content (case (list\each table_row rows) + content (case (list#each table_row rows) {.#End} head {.#Item first rest} (..and head (..table_body - (list\mix (function.flipped ..and) first rest)))) + (list#mix (function.flipped ..and) first rest)))) content (case footer {.#None} content diff --git a/stdlib/source/library/lux/data/format/json.lux b/stdlib/source/library/lux/data/format/json.lux index 734a38177..342e847f4 100644 --- a/stdlib/source/library/lux/data/format/json.lux +++ b/stdlib/source/library/lux/data/format/json.lux @@ -11,16 +11,16 @@ pipe ["[0]" maybe] ["[0]" try {"+" [Try]}] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" text {"+" [Parser]}] ["<[0]>" code]]] [data ["[0]" bit] ["[0]" product] - ["[0]" text ("[1]\[0]" equivalence monoid)] + ["[0]" text ("[1]#[0]" equivalence monoid)] [collection - ["[0]" list ("[1]\[0]" mix functor)] - ["[0]" row {"+" [Row row]} ("[1]\[0]" monad)] + ["[0]" list ("[1]#[0]" mix functor)] + ["[0]" row {"+" [Row row]} ("[1]#[0]" monad)] ["[0]" dictionary {"+" [Dictionary]}]]] [macro [syntax {"+" [syntax:]}] @@ -28,7 +28,7 @@ [math [number ["n" nat] - ["f" frac ("[1]\[0]" decimal)]]]]]) + ["f" frac ("[1]#[0]" decimal)]]]]]) (template [ ] [(type: .public @@ -83,13 +83,13 @@ (<>.rec (function (_ jsonP) ($_ <>.or - (.form (<>\in [])) + (.form (<>#in [])) .bit .frac .text - (<>\each row.of_list + (<>#each row.of_list (.tuple (<>.some jsonP))) - (<>\each (dictionary.of_list text.hash) + (<>#each (dictionary.of_list text.hash) (.variant (<>.some (<>.and .text jsonP)))) .any )))) @@ -108,14 +108,14 @@ [code.text ..#String' ..#String]) {#Array' members} - (` {..#Array ((~! row.row) (~+ (row.list (row\each jsonF members))))}) + (` {..#Array ((~! row.row) (~+ (row.list (row#each jsonF members))))}) {#Object' pairs} (` {..#Object ((~! dictionary.of_list) (~! text.hash) (list (~+ (|> pairs dictionary.entries - (list\each (function (_ [key_name value]) + (list#each (function (_ [key_name value]) (` [(~ (code.text key_name)) (~ (jsonF value))])))))))}) {#Code' code} @@ -131,7 +131,7 @@ {try.#Success (dictionary.keys obj)} _ - {try.#Failure ($_ text\composite "Cannot get the fields of a non-object.")})) + {try.#Failure ($_ text#composite "Cannot get the fields of a non-object.")})) (def: .public (field key json) (-> String JSON (Try JSON)) @@ -142,10 +142,10 @@ {try.#Success value} {.#None} - {try.#Failure ($_ text\composite "Missing field '" key "' on object.")}) + {try.#Failure ($_ text#composite "Missing field '" key "' on object.")}) _ - {try.#Failure ($_ text\composite "Cannot get field '" key "' on a non-object.")})) + {try.#Failure ($_ text#composite "Cannot get field '" key "' on a non-object.")})) (def: .public (has key value json) (-> String JSON JSON (Try JSON)) @@ -154,7 +154,7 @@ {try.#Success {#Object (dictionary.has key value obj)}} _ - {try.#Failure ($_ text\composite "Cannot set field '" key "' on a non-object.")})) + {try.#Failure ($_ text#composite "Cannot set field '" key "' on a non-object.")})) (template [ ] [(def: .public ( key json) @@ -164,7 +164,7 @@ {try.#Success value} {try.#Success _} - {try.#Failure ($_ text\composite "Wrong value type at key: " key)} + {try.#Failure ($_ text#composite "Wrong value type at key: " key)} {try.#Failure error} {try.#Failure error}))] @@ -186,14 +186,14 @@ (^template [ ] [[{ x'} { y'}] - (\ = x' y')]) + (# = x' y')]) ([#Boolean bit.equivalence] [#Number f.equivalence] [#String text.equivalence]) [{#Array xs} {#Array ys}] (and (n.= (row.size xs) (row.size ys)) - (list\mix (function (_ idx prev) + (list#mix (function (_ idx prev) (and prev (maybe.else #0 (do maybe.monad @@ -205,7 +205,7 @@ [{#Object xs} {#Object ys}] (and (n.= (dictionary.size xs) (dictionary.size ys)) - (list\mix (function (_ [xk xv] prev) + (list#mix (function (_ [xk xv] prev) (and prev (case (dictionary.value xk ys) {.#None} #0 @@ -234,13 +234,13 @@ (-> Number Text) (|>> (case> (^or +0.0 -0.0) "0.0" - value (let [raw (\ f.decimal encoded value)] + value (let [raw (# f.decimal encoded value)] (if (f.< +0.0 value) raw (|> raw (text.split_at 1) maybe.trusted product.right)))))) (def: escape "\") -(def: escaped_dq (text\composite ..escape text.double_quote)) +(def: escaped_dq (text#composite ..escape text.double_quote)) (def: string_format (-> String Text) @@ -264,14 +264,14 @@ (def: (array_format format) (-> (-> JSON Text) (-> Array Text)) - (|>> (row\each format) + (|>> (row#each format) row.list (text.interposed ..value_separator) (text.enclosed [..array_start ..array_end]))) (def: (kv_format format [key value]) (-> (-> JSON Text) (-> [String JSON] Text)) - ($_ text\composite + ($_ text#composite (..string_format key) ..entry_separator (format value) @@ -280,7 +280,7 @@ (def: (object_format format) (-> (-> JSON Text) (-> Object Text)) (|>> dictionary.entries - (list\each (..kv_format format)) + (list#each (..kv_format format)) (text.interposed ..value_separator) (text.enclosed [..object_start ..object_end]))) @@ -350,8 +350,8 @@ [mark (.one_of "eE") signed?' (<>.parses? (.this "-")) offset (.many .decimal)] - (in ($_ text\composite mark (if signed?' "-" "") offset))))] - (case (f\decoded ($_ text\composite (if signed? "-" "") digits "." decimals exp)) + (in ($_ text#composite mark (if signed?' "-" "") offset))))] + (case (f#decoded ($_ text#composite (if signed? "-" "") digits "." decimals exp)) {try.#Failure message} (<>.failure message) @@ -362,32 +362,32 @@ (Parser Text) ($_ <>.either (<>.after (.this "\t") - (<>\in text.tab)) + (<>#in text.tab)) (<>.after (.this "\b") - (<>\in text.back_space)) + (<>#in text.back_space)) (<>.after (.this "\n") - (<>\in text.new_line)) + (<>#in text.new_line)) (<>.after (.this "\r") - (<>\in text.carriage_return)) + (<>#in text.carriage_return)) (<>.after (.this "\f") - (<>\in text.form_feed)) - (<>.after (.this (text\composite "\" text.double_quote)) - (<>\in text.double_quote)) + (<>#in text.form_feed)) + (<>.after (.this (text#composite "\" text.double_quote)) + (<>#in text.double_quote)) (<>.after (.this "\\") - (<>\in "\")))) + (<>#in "\")))) (def: string_parser (Parser String) (<| (.enclosed [text.double_quote text.double_quote]) (loop [_ []]) (do [! <>.monad] - [chars (.some (.none_of (text\composite "\" text.double_quote))) + [chars (.some (.none_of (text#composite "\" text.double_quote))) stop .next]) - (if (text\= "\" stop) + (if (text#= "\" stop) (do ! [escaped escaped_parser next_chars (recur [])] - (in ($_ text\composite chars escaped next_chars))) + (in ($_ text#composite chars escaped next_chars))) (in chars)))) (def: (kv_parser json_parser) diff --git a/stdlib/source/library/lux/data/format/markdown.lux b/stdlib/source/library/lux/data/format/markdown.lux index 0e45ec331..0737bc52b 100644 --- a/stdlib/source/library/lux/data/format/markdown.lux +++ b/stdlib/source/library/lux/data/format/markdown.lux @@ -5,7 +5,7 @@ ["[0]" text ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [type abstract] [world @@ -87,7 +87,7 @@ (def: (prefix with) (-> Text (-> Text Text)) (|>> (text.all_split_by text.new_line) - (list\each (function (_ line) + (list#each (function (_ line) (if (text.empty? line) line (format with line)))) @@ -107,7 +107,7 @@ (-> (List [(Markdown Span) (Maybe (Markdown Block))]) (Markdown Block)) (|>> list.enumeration - (list\each (function (_ [idx [summary detail]]) + (list#each (function (_ [idx [summary detail]]) (format "1. " (:representation summary) (case detail {.#Some detail} @@ -125,7 +125,7 @@ (def: .public bullet_list (-> (List [(Markdown Span) (Maybe (Markdown Block))]) (Markdown Block)) - (|>> (list\each (function (_ [summary detail]) + (|>> (list#each (function (_ [summary detail]) (format "* " (:representation summary) (case detail {.#Some detail} diff --git a/stdlib/source/library/lux/data/format/tar.lux b/stdlib/source/library/lux/data/format/tar.lux index bfc337c87..8306aeaf5 100644 --- a/stdlib/source/library/lux/data/format/tar.lux +++ b/stdlib/source/library/lux/data/format/tar.lux @@ -17,10 +17,10 @@ [encoding ["[0]" utf8]]] ["[0]" format "_" - ["[1]" binary {"+" [Writer]} ("[1]\[0]" monoid)]] + ["[1]" binary {"+" [Writer]} ("[1]#[0]" monoid)]] [collection - ["[0]" list ("[1]\[0]" mix)] - ["[0]" row {"+" [Row]} ("[1]\[0]" mix)]]] + ["[0]" list ("[1]#[0]" mix)] + ["[0]" row {"+" [Row]} ("[1]#[0]" mix)]]] [math ["[0]" number ["n" nat] @@ -62,7 +62,7 @@ Nat (|> ..octal_size (list.repeated ) - (list\mix n.* 1) + (list#mix n.* 1) ++)) (exception: .public ( [value Nat]) @@ -88,10 +88,10 @@ (let [suffix padded_size (n.+ (text.size suffix) )] (|>> :representation - (\ n.octal encoded) + (# n.octal encoded) (..octal_padding ) (text.suffix suffix) - (\ utf8.codec encoded) + (# utf8.codec encoded) (format.segment padded_size)))) (def: @@ -133,25 +133,25 @@ (Parser Small) (do <>.monad [digits (.segment ..small_size) - digits (<>.lifted (\ utf8.codec decoded digits)) + digits (<>.lifted (# utf8.codec decoded digits)) _ ..small_suffix] (<>.lifted (do [! try.monad] - [value (\ n.octal decoded digits)] + [value (# n.octal decoded digits)] (..small value))))) (def: big_parser (Parser Big) (do <>.monad [digits (.segment ..big_size) - digits (<>.lifted (\ utf8.codec decoded digits)) + digits (<>.lifted (# utf8.codec decoded digits)) end .bits/8 _ (let [expected (`` (char (~~ (static ..blank))))] (<>.assertion (exception.error ..wrong_character [expected end]) (n.= expected end)))] (<>.lifted (do [! try.monad] - [value (\ n.octal decoded digits)] + [value (# n.octal decoded digits)] (..big value))))) (abstract: Checksum @@ -175,7 +175,7 @@ (def: checksum_checksum (|> ..dummy_checksum :representation - (\ utf8.codec encoded) + (# utf8.codec encoded) ..checksum)) (def: checksum_code @@ -183,7 +183,7 @@ (|>> ..checksum ..as_small ..from_small - (\ n.octal encoded) + (# n.octal encoded) (..octal_padding ..small_size) (text.suffix ..checksum_suffix) :abstraction)) @@ -193,17 +193,17 @@ (let [padded_size (n.+ (text.size ..checksum_suffix) ..small_size)] (|>> :representation - (\ utf8.codec encoded) + (# utf8.codec encoded) (format.segment padded_size)))) (def: checksum_parser (Parser [Nat Checksum]) (do <>.monad [ascii (.segment ..small_size) - digits (<>.lifted (\ utf8.codec decoded ascii)) + digits (<>.lifted (# utf8.codec decoded ascii)) _ ..small_suffix value (<>.lifted - (\ n.octal decoded digits))] + (# n.octal decoded digits))] (in [value (:abstraction (format digits ..checksum_suffix))]))) ) @@ -214,7 +214,7 @@ (def: ascii? (-> Text Bit) - (|>> (\ utf8.codec encoded) + (|>> (# utf8.codec encoded) (binary.aggregate (function (_ char verdict) (.and verdict (n.<= ..last_ascii char))) @@ -233,7 +233,7 @@ 0 {try.#Success string} size (loop [end (-- size)] (case end - 0 {try.#Success (\ utf8.codec encoded "")} + 0 {try.#Success (# utf8.codec encoded "")} _ (do try.monad [last_char (binary.read/8! end string)] (`` (case (.nat last_char) @@ -257,7 +257,7 @@ (-> (Try )) (if (..ascii? value) (if (|> value - (\ utf8.codec encoded) + (# utf8.codec encoded) binary.size (n.> )) (exception.except [value]) @@ -274,7 +274,7 @@ padded_size (n.+ (text.size suffix) )] (|>> :representation (text.suffix suffix) - (\ utf8.codec encoded) + (# utf8.codec encoded) (format.segment padded_size)))) (def: @@ -288,7 +288,7 @@ (<>.lifted (do [! try.monad] [ascii (..un_padded string) - text (\ utf8.codec decoded ascii)] + text (# utf8.codec decoded ascii)] ( text))))) (def: .public @@ -317,7 +317,7 @@ (let [padded_size (n.+ (text.size ..null) ..magic_size)] (|>> :representation - (\ utf8.codec encoded) + (# utf8.codec encoded) (format.segment padded_size)))) (def: magic_parser @@ -329,8 +329,8 @@ _ (<>.assertion (exception.error ..wrong_character [expected end]) (n.= expected end))] (<>.lifted - (\ try.monad each (|>> :abstraction) - (\ utf8.codec decoded string))))) + (# try.monad each (|>> :abstraction) + (# utf8.codec decoded string))))) ) (def: block_size Size 512) @@ -511,7 +511,7 @@ (def: mode_parser (Parser Mode) (do [! <>.monad] - [value (\ ! each ..from_small ..small_parser)] + [value (# ! each ..from_small ..small_parser)] (if (n.> (:representation ..maximum_mode) value) (<>.lifted @@ -523,7 +523,7 @@ Nat (|> ..octal_size (list.repeated ..content_size) - (list\mix n.* 1))) + (list#mix n.* 1))) (abstract: .public Content [Big Binary] @@ -734,9 +734,9 @@ (Writer Tar) (let [end_of_archive (binary.empty ..end_of_archive_size)] (function (_ tar) - (format\composite (row\mix (function (_ next total) - (format\composite total (..entry_writer next))) - format\identity + (format#composite (row#mix (function (_ next total) + (format#composite total (..entry_writer next))) + format#identity tar) (format.segment ..end_of_archive_size end_of_archive))))) @@ -759,7 +759,7 @@ (-> Checksum Binary Nat) (let [|checksum| (|> checksum ..from_checksum - (\ utf8.codec encoded) + (# utf8.codec encoded) ..checksum)] (|> (..checksum header) (n.- |checksum|) @@ -848,14 +848,14 @@ (def: entry_parser (Parser Entry) ($_ <>.either - (\ <>.monad each (|>> {..#Normal}) + (# <>.monad each (|>> {..#Normal}) (<>.either (..file_parser ..normal) (..file_parser ..old_normal))) - (\ <>.monad each (|>> {..#Symbolic_Link}) + (# <>.monad each (|>> {..#Symbolic_Link}) (..file_name_parser ..symbolic_link (value@ #link_name))) - (\ <>.monad each (|>> {..#Directory}) + (# <>.monad each (|>> {..#Directory}) (..file_name_parser ..directory (value@ #path))) - (\ <>.monad each (|>> {..#Contiguous}) + (# <>.monad each (|>> {..#Contiguous}) (..file_parser ..contiguous)))) ... It's safe to implement the parser this way because the range of values for Nat is 2^64 @@ -883,5 +883,5 @@ (def: .public parser (Parser Tar) (|> (<>.some entry_parser) - (\ <>.monad each row.of_list) + (# <>.monad each row.of_list) (<>.before ..end_of_archive_parser))) diff --git a/stdlib/source/library/lux/data/format/xml.lux b/stdlib/source/library/lux/data/format/xml.lux index f2064c166..42f5aafcf 100644 --- a/stdlib/source/library/lux/data/format/xml.lux +++ b/stdlib/source/library/lux/data/format/xml.lux @@ -7,14 +7,14 @@ [codec {"+" [Codec]}]] [control [try {"+" [Try]}] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" text {"+" [Parser]}]]] [data ["[0]" product] - ["[0]" name ("[1]\[0]" equivalence codec)] - ["[0]" text ("[1]\[0]" equivalence monoid)] + ["[0]" name ("[1]#[0]" equivalence codec)] + ["[0]" text {"+" [\n]} ("[1]#[0]" equivalence monoid)] [collection - ["[0]" list ("[1]\[0]" functor)] + ["[0]" list ("[1]#[0]" functor)] ["[0]" dictionary {"+" [Dictionary]}]]] [math [number @@ -46,11 +46,11 @@ (def: xml_standard_escape_char^ (Parser Text) ($_ <>.either - (<>.after (.this "<") (<>\in "<")) - (<>.after (.this ">") (<>\in ">")) - (<>.after (.this "&") (<>\in "&")) - (<>.after (.this "'") (<>\in "'")) - (<>.after (.this """) (<>\in text.double_quote)) + (<>.after (.this "<") (<>#in "<")) + (<>.after (.this ">") (<>#in ">")) + (<>.after (.this "&") (<>#in "&")) + (<>.after (.this "'") (<>#in "'")) + (<>.after (.this """) (<>#in text.double_quote)) )) (def: xml_unicode_escape_char^ @@ -74,7 +74,7 @@ (def: xml_char^ (Parser Text) - (<>.either (.none_of ($_ text\composite "<>&" text.double_quote)) + (<>.either (.none_of ($_ text#composite "<>&" text.double_quote)) xml_escape_char^)) (def: xml_identifier @@ -84,7 +84,7 @@ .alpha) tail (.some (<>.either (.one_of "_.-") .alpha_num))] - (in ($_ text\composite head tail)))) + (in ($_ text#composite head tail)))) (def: namespaced_symbol^ (Parser Name) @@ -115,7 +115,7 @@ (def: attrs^ (Parser Attrs) - (<| (\ <>.monad each (dictionary.of_list name.hash)) + (<| (# <>.monad each (dictionary.of_list name.hash)) <>.some (<>.and (..spaced^ attr_name^)) (<>.after (.this "=")) @@ -128,10 +128,10 @@ ..spaced^ (<>.after (.this "/")) (.enclosed ["<" ">"]))] - (<>.assertion ($_ text\composite "Close tag does not match open tag." text.new_line - "Expected: " (name\encoded expected) text.new_line - " Actual: " (name\encoded actual) text.new_line) - (name\= expected actual)))) + (<>.assertion ($_ text#composite "Close tag does not match open tag." \n + "Expected: " (name#encoded expected) \n + " Actual: " (name#encoded actual) \n) + (name#= expected actual)))) (def: comment^ (Parser Text) @@ -159,7 +159,7 @@ (Parser XML) (|> (..spaced^ (.many xml_char^)) (<>.either cdata^) - (<>\each (|>> {#Text})))) + (<>#each (|>> {#Text})))) (def: null^ (Parser Any) @@ -211,7 +211,7 @@ (-> Tag Text) (case namespace "" name - _ ($_ text\composite namespace ..namespace_separator name))) + _ ($_ text#composite namespace ..namespace_separator name))) (def: .public attribute (-> Attribute Text) @@ -221,8 +221,8 @@ Text (let [quote (: (-> Text Text) (function (_ value) - ($_ text\composite text.double_quote value text.double_quote)))] - ($_ text\composite + ($_ text#composite text.double_quote value text.double_quote)))] + ($_ text#composite " attrs dictionary.entries - (list\each (function (_ [key value]) - ($_ text\composite (..attribute key) "=" text.double_quote (sanitize_value value) text.double_quote))) + (list#each (function (_ [key value]) + ($_ text#composite (..attribute key) "=" text.double_quote (sanitize_value value) text.double_quote))) (text.interposed " "))))] (function (_ input) - ($_ text\composite + ($_ text#composite ..xml_header text.new_line (loop [prefix "" input input] @@ -252,8 +252,8 @@ (let [tag (..tag xml_tag) attrs (if (dictionary.empty? xml_attrs) "" - ($_ text\composite " " (attributes xml_attrs)))] - ($_ text\composite + ($_ text#composite " " (attributes xml_attrs)))] + ($_ text#composite prefix "<" tag attrs ">" (sanitize_value value) "")) @@ -262,12 +262,12 @@ (let [tag (..tag xml_tag) attrs (if (dictionary.empty? xml_attrs) "" - ($_ text\composite " " (attributes xml_attrs)))] + ($_ text#composite " " (attributes xml_attrs)))] (if (list.empty? xml_children) - ($_ text\composite prefix "<" tag attrs "/>") - ($_ text\composite prefix "<" tag attrs ">" + ($_ text#composite prefix "<" tag attrs "/>") + ($_ text#composite prefix "<" tag attrs ">" (|> xml_children - (list\each (|>> (recur (text\composite prefix text.tab)) (text\composite text.new_line))) + (list#each (|>> (recur (text#composite prefix text.tab)) (text#composite text.new_line))) text.together) text.new_line prefix ""))))) )))) @@ -280,12 +280,12 @@ (def: (= reference sample) (case [reference sample] [{#Text reference/value} {#Text sample/value}] - (text\= reference/value sample/value) + (text#= reference/value sample/value) [{#Node reference/tag reference/attrs reference/children} {#Node sample/tag sample/attrs sample/children}] - (and (name\= reference/tag sample/tag) - (\ (dictionary.equivalence text.equivalence) = reference/attrs sample/attrs) + (and (name#= reference/tag sample/tag) + (# (dictionary.equivalence text.equivalence) = reference/attrs sample/attrs) (n.= (list.size reference/children) (list.size sample/children)) (|> (list.zipped/2 reference/children sample/children) diff --git a/stdlib/source/library/lux/data/name.lux b/stdlib/source/library/lux/data/name.lux index 86f813cf7..1e35dc237 100644 --- a/stdlib/source/library/lux/data/name.lux +++ b/stdlib/source/library/lux/data/name.lux @@ -7,7 +7,7 @@ [order {"+" [Order]}] [codec {"+" [Codec]}]] [data - ["[0]" text ("[1]\[0]" equivalence monoid)] + ["[0]" text ("[1]#[0]" equivalence monoid)] ["[0]" product]]]]) ... (type: Name @@ -28,16 +28,16 @@ (def: .public equivalence (Equivalence Name) - (\ ..hash &equivalence)) + (# ..hash &equivalence)) (implementation: .public order (Order Name) (def: &equivalence ..equivalence) (def: (< [moduleP shortP] [moduleS shortS]) - (if (text\= moduleP moduleS) - (\ text.order < shortP shortS) - (\ text.order < moduleP moduleS)))) + (if (text#= moduleP moduleS) + (# text.order < shortP shortS) + (# text.order < moduleP moduleS)))) (def: separator ".") @@ -48,7 +48,7 @@ (def: (encoded [module short]) (case module "" short - _ ($_ text\composite module ..separator short))) + _ ($_ text#composite module ..separator short))) (def: (decoded input) (case (text.all_split_by ..separator input) @@ -59,4 +59,4 @@ {.#Right [module short]} _ - {.#Left (text\composite "Invalid format for Name: " input)}))) + {.#Left (text#composite "Invalid format for Name: " input)}))) diff --git a/stdlib/source/library/lux/data/product.lux b/stdlib/source/library/lux/data/product.lux index df2df9ed1..22cb46a1a 100644 --- a/stdlib/source/library/lux/data/product.lux +++ b/stdlib/source/library/lux/data/product.lux @@ -53,16 +53,16 @@ (All (_ l r) (-> (Equivalence l) (Equivalence r) (Equivalence [l r]))) (def: (= [rl rr] [sl sr]) - (and (\ left = rl sl) - (\ right = rr sr)))) + (and (# left = rl sl) + (# right = rr sr)))) (def: .public (hash left right) (All (_ l r) (-> (Hash l) (Hash r) (Hash [l r]))) (implementation (def: &equivalence - (..equivalence (\ left &equivalence) - (\ right &equivalence))) + (..equivalence (# left &equivalence) + (# right &equivalence))) (def: (hash [leftV rightV]) ("lux i64 +" - (\ left hash leftV) - (\ right hash rightV))))) + (# left hash leftV) + (# right hash rightV))))) diff --git a/stdlib/source/library/lux/data/store.lux b/stdlib/source/library/lux/data/store.lux index 005c9d69c..627a52440 100644 --- a/stdlib/source/library/lux/data/store.lux +++ b/stdlib/source/library/lux/data/store.lux @@ -22,7 +22,7 @@ (def: (each f fa) (extend (function (_ store) - (f (\ store peek (\ store cursor)))) + (f (# store peek (# store cursor)))) fa))) (implementation: .public comonad @@ -32,23 +32,23 @@ ..functor) (def: (out wa) - (\\ peek (\\ cursor))) + (## peek (## cursor))) (def: disjoint (extend id))) (def: .public (peeks trans store) (All (_ s a) (-> (-> s s) (Store s a) a)) - (|> (\\ cursor) trans (\\ peek))) + (|> (## cursor) trans (## peek))) (def: .public (seek cursor store) (All (_ s a) (-> s (Store s a) (Store s a))) - (\ (\\ disjoint store) peek cursor)) + (# (## disjoint store) peek cursor)) (def: .public (seeks change store) (All (_ s a) (-> (-> s s) (Store s a) (Store s a))) - (|> store (\\ disjoint) (peeks change))) + (|> store (## disjoint) (peeks change))) (def: .public (experiment Functor change store) (All (_ f s a) (-> (Functor f) (-> s (f s)) (Store s a) (f a))) - (\ Functor each (\\ peek) (change (\\ cursor)))) + (# Functor each (## peek) (change (## cursor)))) diff --git a/stdlib/source/library/lux/data/sum.lux b/stdlib/source/library/lux/data/sum.lux index cd66c8aa4..518b48f0b 100644 --- a/stdlib/source/library/lux/data/sum.lux +++ b/stdlib/source/library/lux/data/sum.lux @@ -67,10 +67,10 @@ (def: (= reference sample) (case [reference sample] [{.#Left reference} {.#Left sample}] - (\ left = reference sample) + (# left = reference sample) [{.#Right reference} {.#Right sample}] - (\ right = reference sample) + (# right = reference sample) _ false)))) @@ -79,12 +79,12 @@ (All (_ l r) (-> (Hash l) (Hash r) (Hash (Or l r)))) (implementation (def: &equivalence - (..equivalence (\ left &equivalence) - (\ right &equivalence))) + (..equivalence (# left &equivalence) + (# right &equivalence))) (def: (hash value) (case value {.#Left value} - (\ left hash value) + (# left hash value) {.#Right value} - (\ right hash value))))) + (# right hash value))))) diff --git a/stdlib/source/library/lux/data/text.lux b/stdlib/source/library/lux/data/text.lux index a95490493..10d6ebf22 100644 --- a/stdlib/source/library/lux/data/text.lux +++ b/stdlib/source/library/lux/data/text.lux @@ -13,7 +13,7 @@ ["[0]" maybe]] [data [collection - ["[0]" list ("[1]\[0]" mix)]]] + ["[0]" list ("[1]#[0]" mix)]]] [math [number ["n" nat] @@ -284,7 +284,7 @@ (-> (List Text) Text) (let [(^open "[0]") ..monoid] (|>> list.reversed - (list\mix composite identity)))) + (list#mix composite identity)))) (def: .public (interposed separator texts) (-> Text (List Text) Text) diff --git a/stdlib/source/library/lux/data/text/buffer.lux b/stdlib/source/library/lux/data/text/buffer.lux index 50d78c021..3c55712f7 100644 --- a/stdlib/source/library/lux/data/text/buffer.lux +++ b/stdlib/source/library/lux/data/text/buffer.lux @@ -11,7 +11,7 @@ ["%" format {"+" [format]}]] [collection ["[0]" array] - ["[0]" row {"+" [Row]} ("[1]\[0]" mix)]]] + ["[0]" row {"+" [Row]} ("[1]#[0]" mix)]]] [math [number ["n" nat]]] @@ -106,7 +106,7 @@ @.lua ] ... default (|>> :representation - (row\mix (function (_ chunk total) + (row#mix (function (_ chunk total) (n.+ (//.size chunk) total)) 0))))) @@ -126,7 +126,7 @@ @.lua (let [[capacity transform] (:representation buffer)] (table/concat [(transform (array.empty 0)) ""]))] ... default - (row\mix (function (_ chunk total) + (row#mix (function (_ chunk total) (format total chunk)) "" (:representation buffer))))) diff --git a/stdlib/source/library/lux/data/text/escape.lux b/stdlib/source/library/lux/data/text/escape.lux index 67e31e72c..8e34c4845 100644 --- a/stdlib/source/library/lux/data/text/escape.lux +++ b/stdlib/source/library/lux/data/text/escape.lux @@ -94,7 +94,7 @@ (def: (unicode_escaped char pre_offset pre_limit previous current) (-> Char Nat Nat Text Text [Text Text Nat]) - (let [code (\ n.hex encoded char) + (let [code (# n.hex encoded char) replacement (format ..sigil "u" (case ("lux text size" code) 1 (format "000" code) @@ -181,7 +181,7 @@ (-> Nat Text Text Nat (Try [Text Text Nat])) (case (|> current ("lux text clip" (n.+ ..ascii_escape_offset offset) ..code_size) - (\ n.hex decoded)) + (# n.hex decoded)) {try.#Success char} (let [limit' (|> limit (n.- offset) (n.- ..unicode_escape_offset))] {try.#Success [(format previous diff --git a/stdlib/source/library/lux/data/text/format.lux b/stdlib/source/library/lux/data/text/format.lux index 03de3ed04..d801c25f5 100644 --- a/stdlib/source/library/lux/data/text/format.lux +++ b/stdlib/source/library/lux/data/text/format.lux @@ -16,7 +16,7 @@ ["[0]" xml] ["[0]" json]] [collection - ["[0]" list ("[1]\[0]" monad)]]] + ["[0]" list ("[1]#[0]" monad)]]] ["[0]" time ["[0]" instant] ["[0]" duration] @@ -56,35 +56,35 @@ (Format ) )] - [bit Bit (\ bit.codec encoded)] - [nat Nat (\ nat.decimal encoded)] - [int Int (\ int.decimal encoded)] - [rev Rev (\ rev.decimal encoded)] - [frac Frac (\ frac.decimal encoded)] + [bit Bit (# bit.codec encoded)] + [nat Nat (# nat.decimal encoded)] + [int Int (# int.decimal encoded)] + [rev Rev (# rev.decimal encoded)] + [frac Frac (# frac.decimal encoded)] [text Text text.format] - [ratio ratio.Ratio (\ ratio.codec encoded)] - [name Name (\ name.codec encoded)] + [ratio ratio.Ratio (# ratio.codec encoded)] + [name Name (# name.codec encoded)] [location Location location.format] [code Code code.format] [type Type type.format] - [instant instant.Instant (\ instant.codec encoded)] - [duration duration.Duration (\ duration.codec encoded)] - [date date.Date (\ date.codec encoded)] - [time time.Time (\ time.codec encoded)] - [day day.Day (\ day.codec encoded)] - [month month.Month (\ month.codec encoded)] + [instant instant.Instant (# instant.codec encoded)] + [duration duration.Duration (# duration.codec encoded)] + [date date.Date (# date.codec encoded)] + [time time.Time (# time.codec encoded)] + [day day.Day (# day.codec encoded)] + [month month.Month (# month.codec encoded)] - [xml xml.XML (\ xml.codec encoded)] - [json json.JSON (\ json.codec encoded)] + [xml xml.XML (# xml.codec encoded)] + [json json.JSON (# json.codec encoded)] ) (template [ ,] [(`` (template [ ] [(def: .public (Format ) - (\ encoded))] + (# encoded))] (~~ (template.spliced ,))))] @@ -113,11 +113,11 @@ (def: .public (mod modular) (All (_ m) (Format (modular.Mod m))) (let [codec (modular.codec (modular.modulus modular))] - (\ codec encoded modular))) + (# codec encoded modular))) (def: .public (list formatter) (All (_ a) (-> (Format a) (Format (List a)))) - (|>> (list\each (|>> formatter (format " "))) + (|>> (list#each (|>> formatter (format " "))) text.together (text.enclosed ["(list" ")"]))) diff --git a/stdlib/source/library/lux/data/text/regex.lux b/stdlib/source/library/lux/data/text/regex.lux index 189665302..81104a0fe 100644 --- a/stdlib/source/library/lux/data/text/regex.lux +++ b/stdlib/source/library/lux/data/text/regex.lux @@ -8,19 +8,19 @@ ["[0]" maybe] ["[0]" try] ["[0]" exception {"+" [exception:]}] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" text {"+" [Parser]}] ["<[0]>" code]]] [data ["[0]" product] [collection - ["[0]" list ("[1]\[0]" mix monad)]]] + ["[0]" list ("[1]#[0]" mix monad)]]] [macro {"+" [with_identifiers]} [syntax {"+" [syntax:]}] ["[0]" code]] [math [number {"+" [hex]} - ["n" nat ("[1]\[0]" decimal)]]]]] + ["n" nat ("[1]#[0]" decimal)]]]]] ["[0]" // ["%" format {"+" [format]}]]) @@ -50,11 +50,11 @@ (def: (copy reference) (-> Text (Parser Text)) - (<>.after (.this reference) (<>\in reference))) + (<>.after (.this reference) (<>#in reference))) (def: together^ (-> (Parser (List Text)) (Parser Text)) - (\ <>.monad each //.together)) + (# <>.monad each //.together)) (def: name_char^ (Parser Text) @@ -71,10 +71,10 @@ (def: (name^ current_module) (-> Text (Parser Name)) ($_ <>.either - (<>.and (<>\in current_module) (<>.after (.this "..") name_part^)) + (<>.and (<>#in current_module) (<>.after (.this "..") name_part^)) (<>.and name_part^ (<>.after (.this ".") name_part^)) - (<>.and (<>\in .prelude_module) (<>.after (.this ".") name_part^)) - (<>.and (<>\in "") name_part^))) + (<>.and (<>#in .prelude_module) (<>.after (.this ".") name_part^)) + (<>.and (<>#in "") name_part^))) (def: (re_var^ current_module) (-> Text (Parser Code)) @@ -85,9 +85,9 @@ (def: re_range^ (Parser Code) (do [! <>.monad] - [from (|> regex_char^ (\ ! each (|>> (//.char 0) maybe.trusted))) + [from (|> regex_char^ (# ! each (|>> (//.char 0) maybe.trusted))) _ (.this "-") - to (|> regex_char^ (\ ! each (|>> (//.char 0) maybe.trusted)))] + to (|> regex_char^ (# ! each (|>> (//.char 0) maybe.trusted)))] (in (` ((~! .range) (~ (code.nat from)) (~ (code.nat to))))))) (def: re_char^ @@ -120,7 +120,7 @@ rest (<>.some (<>.after (.this "&&") (.enclosed ["[" "]"] ..re_user_class^')))] - (in (list\mix (function (_ refinement base) + (in (list#mix (function (_ refinement base) (` ((~! refine^) (~ refinement) (~ base)))) init rest)))) @@ -196,7 +196,7 @@ (<>.either (do <>.monad [_ (.this "\") id number^] - (in (` ((~! ..copy) (~ (code.identifier ["" (n\encoded id)])))))) + (in (` ((~! ..copy) (~ (code.identifier ["" (n#encoded id)])))))) (do <>.monad [_ (.this "\k<") captured_name name_part^ @@ -285,7 +285,7 @@ (re_scoped^ current_module))) .let [g!total (code.identifier ["" "0total"]) g!temp (code.identifier ["" "0temp"]) - [_ names steps] (list\mix (: (-> (Either Code [Re_Group Code]) + [_ names steps] (list#mix (: (-> (Either Code [Re_Group Code]) [Nat (List Code) (List (List Code))] [Nat (List Code) (List (List Code))]) (function (_ part [idx names steps]) @@ -295,7 +295,7 @@ [idx names (list& (list g!temp complex - (` .let) (` [(~ g!total) (\ (~! //.monoid) (~' composite) (~ g!total) (~ g!temp))])) + (` .let) (` [(~ g!total) (# (~! //.monoid) (~' composite) (~ g!total) (~ g!temp))])) steps)] {.#Right [{#Capturing [?name num_captures]} scoped]} @@ -304,14 +304,14 @@ [idx (code.identifier ["" _name])] {.#None} - [(++ idx) (code.identifier ["" (n\encoded idx)])]) + [(++ idx) (code.identifier ["" (n#encoded idx)])]) access (if (n.> 0 num_captures) (` ((~! product.left) (~ name!))) name!)] [idx! (list& name! names) (list& (list name! scoped - (` .let) (` [(~ g!total) (\ (~! //.monoid) (~' composite) (~ g!total) (~ access))])) + (` .let) (` [(~ g!total) (# (~! //.monoid) (~' composite) (~ g!total) (~ access))])) steps)]) ))) [0 @@ -323,13 +323,13 @@ 0) (` ((~! do) (~! <>.monad) [.let [(~ g!total) ""] - (~+ (|> steps list.reversed list\conjoint))] + (~+ (|> steps list.reversed list#conjoint))] ((~ (' in)) [(~ g!total) (~+ (list.reversed names))])))]) )) (def: (unflatten^ lexer) (-> (Parser Text) (Parser [Text Any])) - (<>.and lexer (\ <>.monad in []))) + (<>.and lexer (# <>.monad in []))) (def: (|||^ left right) (All (_ l r) (-> (Parser [Text l]) (Parser [Text r]) (Parser [Text (Or l r)]))) @@ -378,12 +378,12 @@ tail (<>.some (<>.after (.this "|") sub^))] (if (list.empty? tail) (in head) - (in [(list\mix n.max (product.left head) (list\each product.left tail)) + (in [(list#mix n.max (product.left head) (list#each product.left tail)) (` ($_ ((~ (if capturing? (` (~! |||^)) (` (~! |||_^))))) (~ (prep_alternative head)) - (~+ (list\each prep_alternative tail))))])))) + (~+ (list#each prep_alternative tail))))])))) (def: (re_scoped^ current_module) (-> Text (Parser [Re_Group Code])) @@ -411,7 +411,7 @@ (def: (regex^ current_module) (-> Text (Parser Code)) - (\ <>.monad each product.right (re_alternative^ #1 re_scoped^ current_module))) + (# <>.monad each product.right (re_alternative^ #1 re_scoped^ current_module))) (syntax: .public (regex [pattern .text]) (do meta.monad diff --git a/stdlib/source/library/lux/data/text/unicode/block.lux b/stdlib/source/library/lux/data/text/unicode/block.lux index 770ae8554..051bbd585 100644 --- a/stdlib/source/library/lux/data/text/unicode/block.lux +++ b/stdlib/source/library/lux/data/text/unicode/block.lux @@ -8,7 +8,7 @@ ["[0]" interval {"+" [Interval]}]] [math [number {"+" [hex]} - ["n" nat ("[1]\[0]" interval)] + ["n" nat ("[1]#[0]" interval)] ["[0]" i64]]] [type abstract]]] @@ -22,17 +22,17 @@ (def: identity (:abstraction - (interval.between n.enum n\top n\bottom))) + (interval.between n.enum n#top n#bottom))) (def: (composite left right) (let [left (:representation left) right (:representation right)] (:abstraction (interval.between n.enum - (n.min (\ left bottom) - (\ right bottom)) - (n.max (\ left top) - (\ right top))))))) + (n.min (# left bottom) + (# right bottom)) + (n.max (# left top) + (# right top))))))) (def: .public (block start additional) (-> Char Nat Block) diff --git a/stdlib/source/library/lux/data/text/unicode/set.lux b/stdlib/source/library/lux/data/text/unicode/set.lux index 3ee3dfb49..ce4b6f7d5 100644 --- a/stdlib/source/library/lux/data/text/unicode/set.lux +++ b/stdlib/source/library/lux/data/text/unicode/set.lux @@ -5,8 +5,8 @@ [equivalence {"+" [Equivalence]}]] [data [collection - ["[0]" list ("[1]\[0]" mix functor)] - ["[0]" set ("[1]\[0]" equivalence)] + ["[0]" list ("[1]#[0]" mix functor)] + ["[0]" set ("[1]#[0]" equivalence)] ["[0]" tree "_" ["[1]" finger {"+" [Tree]}]]]] [type {"+" [:by_example]} @@ -32,18 +32,18 @@ (def: .public (composite left right) (-> Set Set Set) (:abstraction - (\ builder branch + (# builder branch (:representation left) (:representation right)))) (def: (singleton block) (-> Block Set) (:abstraction - (\ builder leaf block []))) + (# builder leaf block []))) (def: .public (set [head tail]) (-> [Block (List Block)] Set) - (list\mix (: (-> Block Set Set) + (list#mix (: (-> Block Set Set) (function (_ block set) (..composite (..singleton block) set))) (..singleton head) @@ -229,7 +229,7 @@ (Equivalence Set) (def: (= reference subject) - (set\= (set.of_list //block.hash (tree.tags (:representation reference))) + (set#= (set.of_list //block.hash (tree.tags (:representation reference))) (set.of_list //block.hash (tree.tags (:representation subject)))))) ) diff --git a/stdlib/source/library/lux/data/trace.lux b/stdlib/source/library/lux/data/trace.lux index 5fdf1b1c4..8f54f37d3 100644 --- a/stdlib/source/library/lux/data/trace.lux +++ b/stdlib/source/library/lux/data/trace.lux @@ -34,8 +34,8 @@ [#monoid monoid #trace (function (_ t2) ((value@ #trace wa) - (\ monoid composite t1 t2)))])]))) + (# monoid composite t1 t2)))])]))) (def: .public (result context tracer) (All (_ t a) (-> t (Trace t a) a)) - (\ tracer trace context)) + (# tracer trace context)) diff --git a/stdlib/source/library/lux/debug.lux b/stdlib/source/library/lux/debug.lux index 6e582e3fa..380bbaa0b 100644 --- a/stdlib/source/library/lux/debug.lux +++ b/stdlib/source/library/lux/debug.lux @@ -23,7 +23,7 @@ ["[0]" json]] [collection ["[0]" array] - ["[0]" list ("[1]\[0]" functor)] + ["[0]" list ("[1]#[0]" functor)] ["[0]" dictionary]]] [macro ["[0]" template] @@ -136,7 +136,7 @@ (`` (|>> (:as (array.Array Any)) (array.list {.#None}) - (list\each inspection) + (list#each inspection) (text.interposed " ") (text.enclosed ["[" "]"]))))) @@ -546,9 +546,9 @@ (def: target (.Parser Target) (<>.either (<>.and .local_identifier - (\ <>.monad in {.#None})) + (# <>.monad in {.#None})) (.tuple (<>.and .local_identifier - (\ <>.monad each (|>> {.#Some}) .any))))) + (# <>.monad each (|>> {.#Some}) .any))))) (exception: .public (unknown_local_binding [name Text]) (exception.report @@ -572,7 +572,7 @@ {.#End} (|> environment dictionary.keys - (list\each (function (_ local) [local {.#None}])) + (list#each (function (_ local) [local {.#None}])) in) _ @@ -584,7 +584,7 @@ (in (list (` (..log! ("lux text concat" (~ (code.text (%.format (%.location location) text.new_line))) ((~! exception.report) - (~+ (list\each (function (_ [name format]) + (~+ (list#each (function (_ [name format]) (let [format (case format {.#None} (` (~! ..inspection)) diff --git a/stdlib/source/library/lux/documentation.lux b/stdlib/source/library/lux/documentation.lux index 818f08761..e1a4ffb1a 100644 --- a/stdlib/source/library/lux/documentation.lux +++ b/stdlib/source/library/lux/documentation.lux @@ -2,21 +2,21 @@ [library [lux {"-" [Definition Module type]} ["[0]" meta] - ["[0]" type ("[1]\[0]" equivalence)] + ["[0]" type ("[1]#[0]" equivalence)] [abstract [monad {"+" [do]}] ["[0]" enum]] [control - ["[0]" maybe ("[1]\[0]" functor)] + ["[0]" maybe ("[1]#[0]" functor)] ["[0]" exception {"+" [exception:]}] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" code {"+" [Parser]}]]] [data ["[0]" product] - ["[0]" text {"+" [\n]} ("[1]\[0]" order) + ["[0]" text {"+" [\n]} ("[1]#[0]" order) ["%" format {"+" [format]}]] [collection - ["[0]" list ("[1]\[0]" monad mix monoid)] + ["[0]" list ("[1]#[0]" monad mix monoid)] ["[0]" set {"+" [Set]}] ["[0]" sequence {"+" [Sequence]}]] [format @@ -64,8 +64,8 @@ (^template [] [[[_ _ column] { members}] (|> members - (list\each reference_column) - (list\mix n.min column))]) + (list#each reference_column) + (list#mix n.min column))]) ([.#Form] [.#Variant] [.#Tuple]) @@ -88,10 +88,10 @@ (-> Text Location Nat Code [Location Text]) (case example [new_location {.#Identifier [module short]}] - (let [documentation (cond (text\= expected_module module) + (let [documentation (cond (text#= expected_module module) short - (text\= .prelude_module module) + (text#= .prelude_module module) (format "." short) ... else @@ -115,7 +115,7 @@ (^template [|<| |>| ] [[group_location { members}] - (let [[group_location' members_documentation] (list\mix (function (_ part [last_location text_accum]) + (let [[group_location' members_documentation] (list#mix (function (_ part [last_location text_accum]) (let [[member_location member_documentation] (code_documentation expected_module last_location reference_column part)] [member_location (format text_accum member_documentation)])) [(revised@ .#column ++ group_location) ""] @@ -205,13 +205,13 @@ (|> level -- (enum.range n.enum 0) - (list\each (|>> (n.+ (++ offset)) parameter_type_name))))) + (list#each (|>> (n.+ (++ offset)) parameter_type_name))))) (def: (nested line_prefix body) (-> Text Text Text) (|> body (text.all_split_by \n) - (list\each (text.prefix line_prefix)) + (list#each (text.prefix line_prefix)) (text.interposed \n))) (def: (%type' level type_function_name nestable? module type) @@ -219,7 +219,7 @@ (case type {.#Primitive name params} (|> params - (list\each (|>> (%type' level type_function_name false module) + (list#each (|>> (%type' level type_function_name false module) (format " "))) {.#Item (%.text name)} text.together @@ -228,21 +228,21 @@ {.#Sum _} (|> type type.flat_variant - (list\each (%type' level type_function_name false module)) + (list#each (%type' level type_function_name false module)) (text.interposed " ") (text.enclosed ["(Or " ")"])) {.#Product _} (|> type type.flat_tuple - (list\each (%type' level type_function_name false module)) + (list#each (%type' level type_function_name false module)) (text.interposed " ") (text.enclosed ["[" "]"])) {.#Function input output} (let [[ins out] (type.flat_function type)] (format "(-> " - (|> ins (list\each (%type' level type_function_name false module)) (text.interposed " ")) + (|> ins (list#each (%type' level type_function_name false module)) (text.interposed " ")) " " (%type' level type_function_name false module out) ")")) @@ -281,15 +281,15 @@ (let [[type_func type_arguments] (type.flat_application type)] (format "(" (%type' level type_function_name false module type_func) " " (|> type_arguments - (list\each (%type' level type_function_name false module)) + (list#each (%type' level type_function_name false module)) (text.interposed " ")) ")")) {.#Named [_module _name] type} - (cond (text\= module _module) + (cond (text#= module _module) _name - (text\= .prelude_module _module) + (text#= .prelude_module _module) (format "." _name) ... else @@ -326,7 +326,7 @@ (format "(primitive " (%.text name) ")") _ - (format "(primitive " (%.text name) " " (|> params (list\each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) ")")) + (format "(primitive " (%.text name) " " (|> params (list#each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) ")")) {.#Sum _} (let [members (type.flat_variant type)] @@ -334,20 +334,20 @@ {.#End} (format "(Or " (|> members - (list\each (type_definition' false level arity type_function_info {.#None} module)) + (list#each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) ")") _ (|> members (list.zipped/2 tags) - (list\each (function (_ [t_name type]) + (list#each (function (_ [t_name type]) (case type {.#Product _} (let [types (type.flat_tuple type)] (format " {" t_name " " (|> types - (list\each (type_definition' false level arity type_function_info {.#None} module)) + (list#each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) "}")) @@ -360,12 +360,12 @@ (let [members (type.flat_tuple type)] (case tags {.#End} - (format "[" (|> members (list\each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) "]") + (format "[" (|> members (list#each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) "]") _ (|> members (list.zipped/2 tags) - (list\each (function (_ [t_name type]) + (list#each (function (_ [t_name type]) (format t_name " " (type_definition' false level arity type_function_info {.#None} module type)))) (text.interposed (format \n " ")) (text.enclosed [" [" "]"]) @@ -373,7 +373,7 @@ {.#Function input output} (let [[ins out] (type.flat_function type)] - (format "(-> " (|> ins (list\each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) + (format "(-> " (|> ins (list#each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) " " (type_definition' false level arity type_function_info {.#None} module out) ")")) @@ -410,7 +410,7 @@ (^ {.#Apply (|recursion_dummy|) {.#UnivQ _ body}}) (|> (type_definition' nestable? level arity type_function_info tags module body) (text.all_split_by \n) - (list\each (text.prefix " ")) + (list#each (text.prefix " ")) (text.interposed \n) (text.enclosed [(format "(Rec " (product.left type_function_info) \n) ")"])) @@ -419,15 +419,15 @@ (let [[type_func type_arguments] (type.flat_application type)] (format "(" (type_definition' false level arity type_function_info tags module type_func) " " (|> type_arguments - (list\each (type_definition' false level arity type_function_info {.#None} module)) + (list#each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) ")")) {.#Named [_module _name] type} - (cond (text\= module _module) + (cond (text#= module _module) _name - (text\= .prelude_module _module) + (text#= .prelude_module _module) (format "." _name) ... else @@ -483,7 +483,7 @@ (def: (example_documentation module example) (-> Text Example Code) (|> example - (list\each (..fragment_documentation module)) + (list#each (..fragment_documentation module)) (list.interposed ..blank_line) (text.interposed "") code.text)) @@ -493,7 +493,7 @@ (def: declaration (Parser Declaration) - (<>.either (<>.and ..qualified_identifier (<>\in (list))) + (<>.either (<>.and ..qualified_identifier (<>#in (list))) (.form (<>.and ..qualified_identifier (<>.some (.local_identifier)))))) @@ -514,22 +514,22 @@ g!name _ - (` ((~ g!name) (~+ (list\each code.local_identifier parameters)))))))))) + (` ((~ g!name) (~+ (list#each code.local_identifier parameters)))))))))) ... Type (let [(~ g!type) ("lux in-module" (~ g!module) (.:of (~ (code.identifier name))))] ((~! md.code) "clojure" - (~ (if (type\= .Type def_type) + (~ (if (type#= .Type def_type) (` (|> (~ (code.identifier name)) (:as .Type) ((~! type.anonymous)) ((~! ..type_definition) (~ g!module) - [(~ (code.text (product.right name))) (list (~+ (list\each code.text parameters)))] + [(~ (code.text (product.right name))) (list (~+ (list#each code.text parameters)))] (.list (~+ (|> tags (maybe.else (list)) - (list\each (|>> product.right code.text)))))) + (list#each (|>> product.right code.text)))))) ((~! %.format) ((~! ..single_line_comment) ((~! ..type) (~ g!module) (~ g!type))) <\n>))) @@ -544,7 +544,7 @@ (in (list (` ($_ ((~! md.then)) ((~! ..minimal_definition_documentation) ((~ (code.identifier name)) - (~+ (list\each code.local_identifier parameters)))) + (~+ (list#each code.local_identifier parameters)))) ... Description (~+ (case description {.#Some description} @@ -563,7 +563,7 @@ (list (` (<| ((~! md.code) "clojure") ((~! %.format) (~+ (|> examples - (list\each (..example_documentation (product.left name))) + (list#each (..example_documentation (product.left name))) (list.interposed ..example_separator)))))))))) ))))) @@ -585,7 +585,7 @@ (list [..#definition (~ (code.text short)) ..#documentation ((~! ..minimal_definition_documentation) ((~ (code.identifier name)) - (~+ (list\each code.local_identifier parameters))))]))))))) + (~+ (list#each code.local_identifier parameters))))]))))))) (syntax: .public (documentation: [[name parameters] ..declaration extra (<>.some .any)]) @@ -595,16 +595,16 @@ (.list [..#definition (~ (code.text short)) ..#documentation ((~! ..definition_documentation) ((~ (code.identifier name)) - (~+ (list\each code.local_identifier parameters))) + (~+ (list#each code.local_identifier parameters))) (~+ extra))]))))))) (def: definitions_documentation (-> (List Definition) (Markdown Block)) (|>> (list.sorted (function (_ left right) - (text\< (value@ #definition right) + (text#< (value@ #definition right) (value@ #definition left)))) - (list\each (value@ #documentation)) - (list\mix md.then md.empty))) + (list#each (value@ #documentation)) + (list#mix md.then md.empty))) (def: expected_separator Text @@ -612,7 +612,7 @@ (def: expected_format (-> (List Text) Text) - (list\mix (function (_ short aggregate) + (list#mix (function (_ short aggregate) (case aggregate "" short _ (format aggregate ..expected_separator short))) @@ -634,18 +634,18 @@ ..#description (~ description) ..#expected ((~! ..expected) (~ (code.text (|> expected - (list\each product.left) + (list#each product.left) ..expected_format)))) ..#definitions ((~! list.together) (list (~+ definitions)))] - ($_ (\ (~! list.monoid) (~' composite)) + ($_ (# (~! list.monoid) (~' composite)) (: (List Module) - (\ (~! list.monoid) (~' identity))) + (# (~! list.monoid) (~' identity))) (~+ subs))))))))) (def: listing (-> (List Text) (Markdown Block)) - (|>> (list.sorted text\<) - (list\each (function (_ definition) + (|>> (list.sorted text#<) + (list#each (function (_ definition) [(md.snippet definition) {.#None}])) md.numbered_list)) @@ -672,7 +672,7 @@ ... Missing documentation (case (|> module (value@ #definitions) - (list\mix (function (_ definition missing) + (list#mix (function (_ definition missing) (set.lacks (value@ #definition definition) missing)) _#expected) set.list) @@ -689,7 +689,7 @@ (list.only (|>> (value@ #definition) (set.member? _#expected) not)) - (list\each (value@ #definition))) + (list#each (value@ #definition))) {.#End} md.empty @@ -702,8 +702,8 @@ (def: .public documentation (-> (List Module) Text) (|>> (list.sorted (function (_ left right) - (text\< (value@ #module right) (value@ #module left)))) - (list\each ..module_documentation) + (text#< (value@ #module right) (value@ #module left)))) + (list#each ..module_documentation) (list.interposed md.horizontal_rule) - (list\mix md.then (: (Markdown Block) md.empty)) + (list#mix md.then (: (Markdown Block) md.empty)) md.markdown)) diff --git a/stdlib/source/library/lux/extension.lux b/stdlib/source/library/lux/extension.lux index e7851f2d3..6fc278a48 100644 --- a/stdlib/source/library/lux/extension.lux +++ b/stdlib/source/library/lux/extension.lux @@ -4,14 +4,14 @@ [abstract ["[0]" monad]] [control - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["" code {"+" [Parser]}] ["" analysis] ["" synthesis]]] [data ["[0]" product] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [macro {"+" [with_identifiers]} ["[0]" code] [syntax {"+" [syntax:]}]] @@ -49,7 +49,7 @@ ((~! monad.do) (~! <>.monad) [(~+ inputs) (~ g!_) ] - (.\ (~! <>.monad) (~' in) (~ body))) + (.# (~! <>.monad) (~' in) (~ body))) (~ g!inputs)) {.#Right (~ g!_)} (~ g!_) diff --git a/stdlib/source/library/lux/ffi.js.lux b/stdlib/source/library/lux/ffi.js.lux index 8230be249..99499826e 100644 --- a/stdlib/source/library/lux/ffi.js.lux +++ b/stdlib/source/library/lux/ffi.js.lux @@ -7,14 +7,14 @@ [control ["[0]" io] ["[0]" maybe] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" code {"+" [Parser]}]]] [data ["[0]" product] ["[0]" text ["%" format]] [collection - ["[0]" list ("[1]\[0]" functor)]]] + ["[0]" list ("[1]#[0]" functor)]]] [type abstract] [macro {"+" [with_identifiers]} @@ -131,7 +131,7 @@ (def: input_variables (-> (List Nullable) (List [Bit Code])) (|>> list.enumeration - (list\each (function (_ [idx [nullable? type]]) + (list#each (function (_ [idx [nullable? type]]) [nullable? (|> idx %.nat code.local_identifier)])))) (def: (nullable_type [nullable? type]) @@ -182,7 +182,7 @@ (def: class_declaration (Parser Class_Declaration) (<>.either (<>.and .local_identifier - (<>\in (list))) + (<>#in (list))) (.form (<>.and .local_identifier (<>.some .local_identifier))))) @@ -222,8 +222,8 @@ (-> Code Code Text (List Nullable) Bit Bit Nullable Code) (let [g!inputs (input_variables inputsT)] (` (def: ((~ g!method) - [(~+ (list\each product.right g!inputs))]) - (-> [(~+ (list\each nullable_type inputsT))] + [(~+ (list#each product.right g!inputs))]) + (-> [(~+ (list#each nullable_type inputsT))] (~ (|> (nullable_type outputT) (try_type try?) (io_type io?)))) @@ -233,7 +233,7 @@ (without_null g!temp outputT) (` ("js apply" ("js constant" (~ (code.text source))) - (~+ (list\each (with_null g!temp) g!inputs))))))))))) + (~+ (list#each (with_null g!temp) g!inputs))))))))))) (syntax: .public (import: [import ..import]) (with_identifiers [g!temp g!_] @@ -246,30 +246,30 @@ (text.replaced "[1]" class_name) (text.replaced "." member_name) code.local_identifier))) - class_parameters (list\each code.local_identifier class_parameters) + class_parameters (list#each code.local_identifier class_parameters) declaration (` ((~ (code.local_identifier class_name)) (~+ class_parameters))) real_class (text.replaced "/" "." class_name)] (in (list& (` (type: (~ declaration) (..Object (primitive (~ (code.text real_class)))))) - (list\each (function (_ member) + (list#each (function (_ member) (case member {#Constructor inputsT} (let [g!inputs (input_variables inputsT)] (` (def: ((~ (qualify "new")) - [(~+ (list\each product.right g!inputs))]) + [(~+ (list#each product.right g!inputs))]) (All ((~ g!_) (~+ class_parameters)) - (-> [(~+ (list\each nullable_type inputsT))] + (-> [(~+ (list#each nullable_type inputsT))] (~ declaration))) (:expected ("js object new" ("js constant" (~ (code.text real_class))) - [(~+ (list\each (with_null g!temp) g!inputs))]))))) + [(~+ (list#each (with_null g!temp) g!inputs))]))))) {#Field [static? field fieldT]} (if static? (` ((~! syntax:) ((~ (qualify field)) []) - (\ (~! meta.monad) (~' in) + (# (~! meta.monad) (~' in) (list (` (.:as (~ (nullable_type fieldT)) ("js constant" (~ (code.text (%.format real_class "." field)))))))))) (` (def: ((~ (qualify field)) @@ -294,10 +294,10 @@ {#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))] + [(~+ (list#each product.right g!inputs))] (~ g!object)) (All ((~ g!_) (~+ class_parameters)) - (-> [(~+ (list\each nullable_type inputsT))] + (-> [(~+ (list#each nullable_type inputsT))] (~ declaration) (~ (|> (nullable_type outputT) (try_type try?) @@ -309,7 +309,7 @@ (` ("js object do" (~ (code.text method)) (~ g!object) - [(~+ (list\each (with_null g!temp) g!inputs))]))))))))))) + [(~+ (list#each (with_null g!temp) g!inputs))]))))))))))) members))))) {#Function [name alias inputsT io? try? outputT]} @@ -348,7 +348,7 @@ (~ g!_) (..constant (~ type) [(~ (code.local_identifier (%.format head "." next))) - (~+ (list\each code.local_identifier tail))]))))))))))) + (~+ (list#each code.local_identifier tail))]))))))))))) (template: (!defined? ) [(.case (..constant Any ) diff --git a/stdlib/source/library/lux/ffi.jvm.lux b/stdlib/source/library/lux/ffi.jvm.lux index c4056320a..eb5eea250 100644 --- a/stdlib/source/library/lux/ffi.jvm.lux +++ b/stdlib/source/library/lux/ffi.jvm.lux @@ -1,7 +1,7 @@ (.module: [library ["[0]" lux {"-" [Type type int char :as]} - ["[1]_[0]" type ("[1]\[0]" equivalence)] + ["[1]_[0]" type ("[1]#[0]" equivalence)] [abstract ["[0]" monad {"+" [Monad do]}] ["[0]" enum]] @@ -11,15 +11,15 @@ ["[0]" maybe] ["[0]" try {"+" [Try]}] ["[0]" exception {"+" [Exception exception:]}] - ["<>" parser ("[1]\[0]" monad) + ["<>" parser ("[1]#[0]" monad) ["<[0]>" code {"+" [Parser]}]]] [data ["[0]" product] - ["[0]" text ("[1]\[0]" equivalence) + ["[0]" text ("[1]#[0]" equivalence) ["%" format {"+" [format]}]] [collection ["[0]" array] - ["[0]" list ("[1]\[0]" monad mix monoid)] + ["[0]" list ("[1]#[0]" monad mix monoid)] ["[0]" dictionary {"+" [Dictionary]}]]] [macro {"+" [with_identifiers]} [syntax {"+" [syntax:]}] @@ -327,32 +327,32 @@ (-> Primitive_Mode (Type Primitive) Code) (case mode {#ManualPrM} - (cond (\ type.equivalence = type.boolean type) (` ..Boolean) - (\ type.equivalence = type.byte type) (` ..Byte) - (\ type.equivalence = type.short type) (` ..Short) - (\ type.equivalence = type.int type) (` ..Integer) - (\ type.equivalence = type.long type) (` ..Long) - (\ type.equivalence = type.float type) (` ..Float) - (\ type.equivalence = type.double type) (` ..Double) - (\ type.equivalence = type.char type) (` ..Character) + (cond (# type.equivalence = type.boolean type) (` ..Boolean) + (# type.equivalence = type.byte type) (` ..Byte) + (# type.equivalence = type.short type) (` ..Short) + (# type.equivalence = type.int type) (` ..Integer) + (# type.equivalence = type.long type) (` ..Long) + (# type.equivalence = type.float type) (` ..Float) + (# type.equivalence = type.double type) (` ..Double) + (# type.equivalence = type.char type) (` ..Character) ... else (undefined)) {#AutoPrM} - (cond (\ type.equivalence = type.boolean type) + (cond (# type.equivalence = type.boolean type) (` .Bit) - (or (\ type.equivalence = type.short type) - (\ type.equivalence = type.byte type) - (\ type.equivalence = type.int type) - (\ type.equivalence = type.long type)) + (or (# type.equivalence = type.short type) + (# type.equivalence = type.byte type) + (# type.equivalence = type.int type) + (# type.equivalence = type.long type)) (` .Int) - (or (\ type.equivalence = type.float type) - (\ type.equivalence = type.double type)) + (or (# type.equivalence = type.float type) + (# type.equivalence = type.double type)) (` .Frac) - (\ type.equivalence = type.char type) + (# type.equivalence = type.char type) (` .Nat) ... else @@ -373,7 +373,7 @@ [parser.upper? limit (parameter_type limit)] [parser.class? [name parameters] (` (.primitive (~ (code.text name)) - [(~+ (list\each parameter_type parameters))]))])) + [(~+ (list#each parameter_type parameters))]))])) ... else (undefined) ))) @@ -434,7 +434,7 @@ (case (f input) (^template [] [[meta { parts}] - [meta { (list\each (replaced f) parts)}]]) + [meta { (list#each (replaced f) parts)}]]) ([.#Form] [.#Variant] [.#Tuple]) @@ -474,8 +474,8 @@ (.tuple (<>.exactly (list.size arguments) .any)))))] (in (` ("jvm member invoke constructor" (~ (code.text class_name)) (~+ (|> args - (list.zipped/2 (list\each product.right arguments)) - (list\each ..decorate_input)))))))) + (list.zipped/2 (list#each product.right arguments)) + (list#each ..decorate_input)))))))) (def: (static_method_parser class_name method_name arguments) (-> Text Text (List Argument) (Parser Code)) @@ -486,8 +486,8 @@ (.tuple (<>.exactly (list.size arguments) .any)))))] (in (` ("jvm member invoke static" (~ (code.text class_name)) (~ (code.text method_name)) (~+ (|> args - (list.zipped/2 (list\each product.right arguments)) - (list\each ..decorate_input)))))))) + (list.zipped/2 (list#each product.right arguments)) + (list#each ..decorate_input)))))))) (template [ ] [(def: ( class_name method_name arguments self_name) @@ -500,8 +500,8 @@ (in (` ( (~ (code.text class_name)) (~ (code.text method_name)) (~ (code.local_identifier self_name)) (~+ (|> args - (list.zipped/2 (list\each product.right arguments)) - (list\each ..decorate_input))))))))] + (list.zipped/2 (list#each product.right arguments)) + (list#each ..decorate_input))))))))] [special_method_parser "jvm member invoke special"] [virtual_method_parser "jvm member invoke virtual"] @@ -568,7 +568,7 @@ (not (text.contains? name.external_separator name))) _ (..assertion ..class_name_cannot_be_a_type_variable [name type_vars] (not (list.member? text.equivalence - (list\each parser.name type_vars) + (list#each parser.name type_vars) name)))] (in name))) @@ -579,7 +579,7 @@ [.let [class_name^ (..valid_class_name type_vars)] [name parameters] (: (Parser [External (List (Type Parameter))]) ($_ <>.either - (<>.and class_name^ (<>\in (list))) + (<>.and class_name^ (<>#in (list))) (.form (<>.and class_name^ (<>.some (parameter^ type_vars))))))] (in (type.class (name.safe name) parameters)))) @@ -594,7 +594,7 @@ (do <>.monad [name .local_identifier _ (..assertion ..unexpected_type_variable [name type_vars] - (list.member? text.equivalence (list\each parser.name type_vars) name))] + (list.member? text.equivalence (list#each parser.name type_vars) name))] (in (type.var name)))) (def: wildcard^ @@ -609,7 +609,7 @@ (|>> (<>.after (.this! (' ))) (<>.after ..wildcard^) .tuple - (\ <>.monad each )))] + (# <>.monad each )))] [upper^ < type.upper] [lower^ > type.lower] @@ -652,7 +652,7 @@ (def: array^ (-> (Parser (Type Value)) (Parser (Type Array))) (|>> .tuple - (\ <>.monad each type.array))) + (# <>.monad each type.array))) (def: (type^ type_vars) (-> (List (Type Var)) (Parser (Type Value))) @@ -677,7 +677,7 @@ (def: var^ (Parser (Type Var)) - (\ <>.monad each type.var .local_identifier)) + (# <>.monad each type.var .local_identifier)) (def: vars^ (Parser (List (Type Var))) @@ -688,7 +688,7 @@ (do <>.monad [[name variables] (: (Parser [External (List (Type Var))]) (<>.either (<>.and (..valid_class_name (list)) - (<>\in (list))) + (<>#in (list))) (.form (<>.and (..valid_class_name (list)) (<>.some var^))) ))] @@ -728,7 +728,7 @@ (-> (List (Type Var)) (Parser [Member_Declaration MethodDecl])) (.form (do <>.monad [tvars (<>.else (list) ..vars^) - .let [total_vars (list\composite tvars type_vars)] + .let [total_vars (list#composite tvars type_vars)] name .local_identifier anns ..annotations^ inputs (.tuple (<>.some (..type^ total_vars))) @@ -744,7 +744,7 @@ ($_ <>.or (.this! (' "volatile")) (.this! (' "final")) - (\ <>.monad in []))) + (# <>.monad in []))) (def: (field_decl^ type_vars) (-> (List (Type Var)) (Parser [Member_Declaration FieldDecl])) @@ -786,7 +786,7 @@ [pm privacy_modifier^ strict_fp? (<>.parses? (.this! (' "strict"))) method_vars (<>.else (list) ..vars^) - .let [total_vars (list\composite class_vars method_vars)] + .let [total_vars (list#composite class_vars method_vars)] [_ self_name arguments] (.form ($_ <>.and (.this! (' new)) .local_identifier @@ -807,7 +807,7 @@ strict_fp? (<>.parses? (.this! (' "strict"))) final? (<>.parses? (.this! (' "final"))) method_vars (<>.else (list) ..vars^) - .let [total_vars (list\composite class_vars method_vars)] + .let [total_vars (list#composite class_vars method_vars)] [name self_name arguments] (.form ($_ <>.and .local_identifier .local_identifier @@ -827,7 +827,7 @@ [strict_fp? (<>.parses? (.this! (' "strict"))) owner_class ..declaration^ method_vars (<>.else (list) ..vars^) - .let [total_vars (list\composite (product.right (parser.declaration owner_class)) + .let [total_vars (list#composite (product.right (parser.declaration owner_class)) method_vars)] [name self_name arguments] (.form ($_ <>.and .local_identifier @@ -943,7 +943,7 @@ [tvars (<>.else (list) ..vars^) _ (.identifier! ["" "new"]) ?alias import_member_alias^ - .let [total_vars (list\composite owner_vars tvars)] + .let [total_vars (list#composite owner_vars tvars)] ?prim_mode (<>.maybe primitive_mode^) args (..import_member_args^ total_vars) [io? try? maybe?] import_member_return_flags^] @@ -964,7 +964,7 @@ tvars (<>.else (list) ..vars^) name .local_identifier ?alias import_member_alias^ - .let [total_vars (list\composite owner_vars tvars)] + .let [total_vars (list#composite owner_vars tvars)] ?prim_mode (<>.maybe primitive_mode^) args (..import_member_args^ total_vars) [io? try? maybe?] import_member_return_flags^ @@ -1022,7 +1022,7 @@ (def: (annotation$ [name params]) (-> Annotation Code) - (` ((~ (code.text name)) (~+ (list\each annotation_parameter$ params))))) + (` ((~ (code.text name)) (~+ (list#each annotation_parameter$ params))))) (template [ ] [(def: @@ -1045,10 +1045,10 @@ (-> [Member_Declaration MethodDecl] Code) (let [(^slots [#method_tvars #method_inputs #method_output #method_exs]) method_decl] (` ((~ (code.text name)) - [(~+ (list\each annotation$ anns))] - [(~+ (list\each var$ #method_tvars))] - [(~+ (list\each class$ #method_exs))] - [(~+ (list\each value$ #method_inputs))] + [(~+ (list#each annotation$ anns))] + [(~+ (list#each var$ #method_tvars))] + [(~+ (list#each class$ #method_exs))] + [(~+ (list#each value$ #method_inputs))] (~ (return$ #method_output)))))) (def: (state_modifier$ sm) @@ -1063,7 +1063,7 @@ (case field {#ConstantField class value} (` ("constant" (~ (code.text name)) - [(~+ (list\each annotation$ anns))] + [(~+ (list#each annotation$ anns))] (~ (value$ class)) (~ value) )) @@ -1072,7 +1072,7 @@ (` ("variable" (~ (code.text name)) (~ (privacy_modifier$ pm)) (~ (state_modifier$ sm)) - [(~+ (list\each annotation$ anns))] + [(~+ (list#each annotation$ anns))] (~ (value$ class)) )) )) @@ -1089,41 +1089,41 @@ (-> External (Parser Code) (Type Class) (List [Member_Declaration FieldDecl]) [Member_Declaration Method_Definition] Code) (case method_def {#ConstructorMethod strict_fp? type_vars self_name arguments constructor_args body exs} - (let [replacer (|> (list\each (field->parser fully_qualified_class_name self_name) fields) - (list\mix <>.either method_parser) + (let [replacer (|> (list#each (field->parser fully_qualified_class_name self_name) fields) + (list#mix <>.either method_parser) parser->replacer)] (` ("init" (~ (privacy_modifier$ pm)) (~ (code.bit strict_fp?)) - [(~+ (list\each annotation$ anns))] - [(~+ (list\each var$ type_vars))] - [(~+ (list\each class$ exs))] + [(~+ (list#each annotation$ anns))] + [(~+ (list#each var$ type_vars))] + [(~+ (list#each class$ exs))] (~ (code.text self_name)) - [(~+ (list\each argument$ arguments))] - [(~+ (list\each constructor_arg$ constructor_args))] + [(~+ (list#each argument$ arguments))] + [(~+ (list#each constructor_arg$ constructor_args))] (~ (replaced replacer body)) ))) {#VirtualMethod final? strict_fp? type_vars self_name arguments return_type body exs} - (let [replacer (|> (list\each (field->parser fully_qualified_class_name self_name) fields) - (list\mix <>.either method_parser) + (let [replacer (|> (list#each (field->parser fully_qualified_class_name self_name) fields) + (list#mix <>.either method_parser) parser->replacer)] (` ("virtual" (~ (code.text name)) (~ (privacy_modifier$ pm)) (~ (code.bit final?)) (~ (code.bit strict_fp?)) - [(~+ (list\each annotation$ anns))] - [(~+ (list\each var$ type_vars))] + [(~+ (list#each annotation$ anns))] + [(~+ (list#each var$ type_vars))] (~ (code.text self_name)) - [(~+ (list\each argument$ arguments))] + [(~+ (list#each argument$ arguments))] (~ (return$ return_type)) - [(~+ (list\each class$ exs))] + [(~+ (list#each class$ exs))] (~ (replaced replacer body))))) {#OverridenMethod strict_fp? declaration type_vars self_name arguments return_type body exs} - (let [replacer (|> (list\each (field->parser fully_qualified_class_name self_name) fields) - (list\mix <>.either method_parser) + (let [replacer (|> (list#each (field->parser fully_qualified_class_name self_name) fields) + (list#mix <>.either method_parser) parser->replacer) super_replacer (parser->replacer (.form (do <>.monad [_ (.this! (' ::super!)) @@ -1133,18 +1133,18 @@ (~ (code.text name)) (~ (code.local_identifier self_name)) (~+ (|> args - (list.zipped/2 (list\each product.right arguments)) - (list\each ..decorate_input)))))))))] + (list.zipped/2 (list#each product.right arguments)) + (list#each ..decorate_input)))))))))] (` ("override" (~ (declaration$ declaration)) (~ (code.text name)) (~ (code.bit strict_fp?)) - [(~+ (list\each annotation$ anns))] - [(~+ (list\each var$ type_vars))] + [(~+ (list#each annotation$ anns))] + [(~+ (list#each var$ type_vars))] (~ (code.text self_name)) - [(~+ (list\each argument$ arguments))] + [(~+ (list#each argument$ arguments))] (~ (return$ return_type)) - [(~+ (list\each class$ exs))] + [(~+ (list#each class$ exs))] (~ (|> body (replaced replacer) (replaced super_replacer))) @@ -1156,31 +1156,31 @@ (~ (code.text name)) (~ (privacy_modifier$ pm)) (~ (code.bit strict_fp?)) - [(~+ (list\each annotation$ anns))] - [(~+ (list\each var$ type_vars))] - [(~+ (list\each argument$ arguments))] + [(~+ (list#each annotation$ anns))] + [(~+ (list#each var$ type_vars))] + [(~+ (list#each argument$ arguments))] (~ (return$ return_type)) - [(~+ (list\each class$ exs))] + [(~+ (list#each class$ exs))] (~ (replaced replacer body))))) {#AbstractMethod type_vars arguments return_type exs} (` ("abstract" (~ (code.text name)) (~ (privacy_modifier$ pm)) - [(~+ (list\each annotation$ anns))] - [(~+ (list\each var$ type_vars))] - [(~+ (list\each argument$ arguments))] + [(~+ (list#each annotation$ anns))] + [(~+ (list#each var$ type_vars))] + [(~+ (list#each argument$ arguments))] (~ (return$ return_type)) - [(~+ (list\each class$ exs))])) + [(~+ (list#each class$ exs))])) {#NativeMethod type_vars arguments return_type exs} (` ("native" (~ (code.text name)) (~ (privacy_modifier$ pm)) - [(~+ (list\each annotation$ anns))] - [(~+ (list\each var$ type_vars))] - [(~+ (list\each class$ exs))] - [(~+ (list\each argument$ arguments))] + [(~+ (list#each annotation$ anns))] + [(~+ (list#each var$ type_vars))] + [(~+ (list#each class$ exs))] + [(~+ (list#each argument$ arguments))] (~ (return$ return_type)))) )) @@ -1194,7 +1194,7 @@ (syntax: .public (class: [.let [! <>.monad] im inheritance_modifier^ - [full_class_name class_vars] (\ ! each parser.declaration ..declaration^) + [full_class_name class_vars] (# ! each parser.declaration ..declaration^) super (<>.else $Object (class^ class_vars)) interfaces (<>.else (list) @@ -1206,28 +1206,28 @@ [.let [fully_qualified_class_name full_class_name method_parser (: (Parser Code) (|> methods - (list\each (method->parser fully_qualified_class_name)) - (list\mix <>.either (<>.failure ""))))]] + (list#each (method->parser fully_qualified_class_name)) + (list#mix <>.either (<>.failure ""))))]] (in (list (` ("jvm class" (~ (declaration$ (type.declaration full_class_name class_vars))) (~ (class$ super)) - [(~+ (list\each class$ interfaces))] + [(~+ (list#each class$ interfaces))] (~ (inheritance_modifier$ im)) - [(~+ (list\each annotation$ annotations))] - [(~+ (list\each field_decl$ fields))] - [(~+ (list\each (method_def$ fully_qualified_class_name method_parser super fields) methods))])))))) + [(~+ (list#each annotation$ annotations))] + [(~+ (list#each field_decl$ fields))] + [(~+ (list#each (method_def$ fully_qualified_class_name method_parser super fields) methods))])))))) (syntax: .public (interface: [.let [! <>.monad] - [full_class_name class_vars] (\ ! each parser.declaration ..declaration^) + [full_class_name class_vars] (# ! each parser.declaration ..declaration^) supers (<>.else (list) (.tuple (<>.some (class^ class_vars)))) annotations ..annotations^ members (<>.some (..method_decl^ class_vars))]) (in (list (` ("jvm class interface" (~ (declaration$ (type.declaration full_class_name class_vars))) - [(~+ (list\each class$ supers))] - [(~+ (list\each annotation$ annotations))] - (~+ (list\each method_decl$ members))))))) + [(~+ (list#each class$ supers))] + [(~+ (list#each annotation$ annotations))] + (~+ (list#each method_decl$ members))))))) (syntax: .public (object [class_vars ..vars^ super (<>.else $Object @@ -1237,11 +1237,11 @@ constructor_args (..constructor_args^ class_vars) methods (<>.some ..overriden_method_def^)]) (in (list (` ("jvm class anonymous" - [(~+ (list\each var$ class_vars))] + [(~+ (list#each var$ class_vars))] (~ (class$ super)) - [(~+ (list\each class$ interfaces))] - [(~+ (list\each constructor_arg$ constructor_args))] - [(~+ (list\each (method_def$ "" (<>.failure "") super (list)) methods))]))))) + [(~+ (list#each class$ interfaces))] + [(~+ (list#each constructor_arg$ constructor_args))] + [(~+ (list#each (method_def$ "" (<>.failure "") super (list)) methods))]))))) (syntax: .public (null []) (in (list (` ("jvm object null"))))) @@ -1296,14 +1296,14 @@ methods (<>.some partial_call^)]) (with_identifiers [g!obj] (in (list (` (let [(~ g!obj) (~ obj)] - (exec (~+ (list\each (complete_call$ g!obj) methods)) + (exec (~+ (list#each (complete_call$ g!obj) methods)) (~ g!obj)))))))) (def: (class_import$ declaration) (-> (Type Declaration) Code) (let [[full_name params] (parser.declaration declaration) def_name (..internal full_name) - params' (list\each ..var$' params)] + params' (list#each ..var$' params)] (template.with_locals [g!_] (` (def: (~ (code.identifier ["" def_name])) .Type @@ -1315,7 +1315,7 @@ (-> (List (Type Var)) Import_Member_Declaration (List (Type Var))) (case member {#ConstructorDecl [commons _]} - (list\composite class_tvars (value@ #import_member_tvars commons)) + (list#composite class_tvars (value@ #import_member_tvars commons)) {#MethodDecl [commons _]} (case (value@ #import_member_kind commons) @@ -1323,7 +1323,7 @@ (value@ #import_member_tvars commons) _ - (list\composite class_tvars (value@ #import_member_tvars commons))) + (list#composite class_tvars (value@ #import_member_tvars commons))) _ class_tvars)) @@ -1340,8 +1340,8 @@ (with_identifiers [arg_name] (in [maybe? arg_name])))) #import_member_args) - .let [input_jvm_types (list\each product.right #import_member_args) - arg_types (list\each (: (-> [Bit (Type Value)] Code) + .let [input_jvm_types (list#each product.right #import_member_args) + arg_types (list#each (: (-> [Bit (Type Value)] Code) (function (_ [maybe? arg]) (let [arg_type (value_type (value@ #import_member_mode commons) arg)] (if maybe? @@ -1351,7 +1351,7 @@ (in [arg_inputs input_jvm_types arg_types]))) _ - (\ meta.monad in [(list) (list) (list)]))) + (# meta.monad in [(list) (list) (list)]))) (def: (with_return_maybe member never_null? unboxed return_term) (-> Import_Member_Declaration Bit (Type Value) Code Code) @@ -1405,7 +1405,7 @@ {#AutoPrM} (with_expansions [' (template.spliced ) (template [
 ]
-                                                                        [(\ type.equivalence =  unboxed)
+                                                                        [(# type.equivalence =  unboxed)
                                                                          (with_expansions [' (template.spliced )]
                                                                            [
                                                                             (` (.|> (~ raw) (~+ 
)))
@@ -1466,7 +1466,7 @@
   (-> Primitive_Mode (List (Type Value)) (List [Bit Code]) (List Code))
   (|> inputs
       (list.zipped/2 classes)
-      (list\each (function (_ [class [maybe? input]])
+      (list#each (function (_ [class [maybe? input]])
                    (|> (if maybe?
                          (` (: (.primitive (~ (code.text (..reflection class))))
                                ((~! !!!) (~ (..un_quoted input)))))
@@ -1482,9 +1482,9 @@
 
 (def: syntax_inputs
   (-> (List Code) (List Code))
-  (|>> (list\each (function (_ name)
+  (|>> (list#each (function (_ name)
                     (list name (` (~! .any)))))
-       list\conjoint))
+       list#conjoint))
 
 (def: (member_def_interop vars kind class [arg_function_inputs input_jvm_types arg_types] member method_prefix import_format)
   (-> (List (Type Var)) Class_Kind (Type Declaration) [(List [Bit Code]) (List (Type Value)) (List Code)] Import_Member_Declaration Text Text (Meta (List Code)))
@@ -1499,7 +1499,7 @@
                                 (` (primitive (~ (code.text full_name))))
 
                                 _
-                                (let [=class_tvars (list\each ..var$' class_tvars)]
+                                (let [=class_tvars (list#each ..var$' class_tvars)]
                                   (` (All ((~ g!_) (~+ =class_tvars)) (primitive (~ (code.text full_name)) [(~+ =class_tvars)]))))))
                  getter_interop (: (-> Text Code)
                                    (function (_ name)
@@ -1507,7 +1507,7 @@
                                        (` (def: (~ getter_name)
                                             (~ enum_type)
                                             (~ (get_static_field full_name name)))))))]]
-          (in (list\each getter_interop enum_members))))
+          (in (list#each getter_interop enum_members))))
       
       {#ConstructorDecl [commons _]}
       (do meta.monad
@@ -1515,17 +1515,17 @@
                def_name (code.identifier ["" (..import_name import_format method_prefix (value@ #import_member_alias commons))])
                jvm_interop (|> [classT
                                 (` ("jvm member invoke constructor"
-                                    [(~+ (list\each ..var$ class_tvars))]
+                                    [(~+ (list#each ..var$ class_tvars))]
                                     (~ (code.text full_name))
-                                    [(~+ (list\each ..var$ (value@ #import_member_tvars commons)))]
+                                    [(~+ (list#each ..var$ (value@ #import_member_tvars commons)))]
                                     (~+ (|> (jvm_invoke_inputs (value@ #import_member_mode commons) input_jvm_types arg_function_inputs)
                                             (list.zipped/2 input_jvm_types)
-                                            (list\each ..decorate_input)))))]
+                                            (list#each ..decorate_input)))))]
                                (with_automatic_output_conversion (value@ #import_member_mode commons))
                                (with_return_maybe member true classT)
                                (with_return_try member)
                                (with_return_io member))]]
-        (in (list (` ((~! syntax:) ((~ def_name) [(~+ (syntax_inputs (list\each product.right arg_function_inputs)))])
+        (in (list (` ((~! syntax:) ((~ def_name) [(~+ (syntax_inputs (list#each product.right arg_function_inputs)))])
                       ((~' in) (.list (.` (~ jvm_interop)))))))))
 
       {#MethodDecl [commons method]}
@@ -1553,17 +1553,17 @@
                  method_return (value@ #import_method_return method)
                  callC (: Code
                           (` ((~ (code.text jvm_op))
-                              [(~+ (list\each ..var$ class_tvars))]
+                              [(~+ (list#each ..var$ class_tvars))]
                               (~ (code.text full_name))
                               (~ (code.text #import_method_name))
-                              [(~+ (list\each ..var$ (value@ #import_member_tvars commons)))]
+                              [(~+ (list#each ..var$ (value@ #import_member_tvars commons)))]
                               (~+ (|> object_ast
-                                      (list\each ..un_quoted)
+                                      (list#each ..un_quoted)
                                       (list.zipped/2 (list (type.class full_name (list))))
-                                      (list\each (with_automatic_input_conversion (value@ #import_member_mode commons)))))
+                                      (list#each (with_automatic_input_conversion (value@ #import_member_mode commons)))))
                               (~+ (|> (jvm_invoke_inputs (value@ #import_member_mode commons) input_jvm_types arg_function_inputs)
                                       (list.zipped/2 input_jvm_types)
-                                      (list\each ..decorate_input))))))
+                                      (list#each ..decorate_input))))))
                  jvm_interop (: Code
                                 (case (type.void? method_return)
                                   {.#Left method_return}
@@ -1579,7 +1579,7 @@
                                   (|> callC
                                       (with_return_try member)
                                       (with_return_io member))))]]
-          (in (list (` ((~! syntax:) ((~ def_name) [(~+ (syntax_inputs (list\each product.right arg_function_inputs)))
+          (in (list (` ((~! syntax:) ((~ def_name) [(~+ (syntax_inputs (list#each product.right arg_function_inputs)))
                                                     (~+ (syntax_inputs object_ast))])
                         ((~' in) (.list (.` (~ jvm_interop))))))))))
 
@@ -1656,7 +1656,7 @@
   (let [[class_name _] (parser.declaration declaration)]
     (case (load_class class_name)
       {.#Right class}
-      (\ meta.monad in (if (interface? class)
+      (# meta.monad in (if (interface? class)
                          {#Interface}
                          {#Class}))
 
@@ -1669,11 +1669,11 @@
   (do [! meta.monad]
     [kind (class_kind declaration)
      =members (|> bundles
-                  (list\each (function (_ [import_format members])
-                               (list\each (|>> [import_format]) members)))
+                  (list#each (function (_ [import_format members])
+                               (list#each (|>> [import_format]) members)))
                   list.together
                   (monad.each ! (member_import$ class_type_vars kind declaration)))]
-    (in (list& (class_import$ declaration) (list\conjoint =members)))))
+    (in (list& (class_import$ declaration) (list#conjoint =members)))))
 
 (syntax: .public (array [type (..type^ (list))
                          size .any])
@@ -1683,7 +1683,7 @@
                       "jvm object cast"
                       "jvm conversion long-to-int"))]
     (`` (cond (~~ (template [ ]
-                    [(\ type.equivalence =  type)
+                    [(# type.equivalence =  type)
                      (in (list (` ( (~ g!size)))))]
 
                     [type.boolean "jvm array new boolean"]
@@ -1705,15 +1705,15 @@
 (with_expansions [ (as_is (meta.failure (exception.error ..cannot_convert_to_jvm_type [type])))]
   (def: (lux_type->jvm_type type)
     (-> .Type (Meta (Type Value)))
-    (if (lux_type\= .Any type)
-      (\ meta.monad in $Object)
+    (if (lux_type#= .Any type)
+      (# meta.monad in $Object)
       (case type
         {.#Primitive name params}
         (`` (cond (~~ (template []
-                        [(text\= (..reflection ) name)
+                        [(text#= (..reflection ) name)
                          (case params
                            {.#End}
-                           (\ meta.monad in )
+                           (# meta.monad in )
 
                            _
                            )]
@@ -1728,10 +1728,10 @@
                         [type.char]))
 
                   (~~ (template []
-                        [(text\= (..reflection (type.array )) name)
+                        [(text#= (..reflection (type.array )) name)
                          (case params
                            {.#End}
-                           (\ meta.monad in (type.array ))
+                           (# meta.monad in (type.array ))
 
                            _
                            )]
@@ -1745,10 +1745,10 @@
                         [type.double]
                         [type.char]))
 
-                  (text\= array.type_name name)
+                  (text#= array.type_name name)
                   (case params
                     {.#Item elementLT {.#End}}
-                    (\ meta.monad each type.array
+                    (# meta.monad each type.array
                        (lux_type->jvm_type elementLT))
 
                     _
@@ -1758,14 +1758,14 @@
                   (case params
                     {.#End}
                     (let [[_ unprefixed] (maybe.trusted (text.split_by descriptor.array_prefix name))]
-                      (\ meta.monad each type.array
+                      (# meta.monad each type.array
                          (lux_type->jvm_type {.#Primitive unprefixed (list)})))
 
                     _
                     )
 
                   ... else
-                  (\ meta.monad each (type.class name)
+                  (# meta.monad each (type.class name)
                      (: (Meta (List (Type Parameter)))
                         (monad.each meta.monad
                                     (function (_ paramLT)
@@ -1800,7 +1800,7 @@
       [array_type (meta.type array_name)
        array_jvm_type (lux_type->jvm_type array_type)
        .let [g!extension (code.text (`` (cond (~~ (template [ ]
-                                                    [(\ type.equivalence =
+                                                    [(# type.equivalence =
                                                         (type.array )
                                                         array_jvm_type)
                                                      ]
@@ -1840,7 +1840,7 @@
                            "jvm object cast"
                            "jvm conversion long-to-int"))]]
       (`` (cond (~~ (template [  ]
-                      [(\ type.equivalence =
+                      [(# type.equivalence =
                           (type.array )
                           array_jvm_type)
                        (in (list (` (.|> ( (~ g!idx) (~ array))
@@ -1878,7 +1878,7 @@
                            "jvm object cast"
                            "jvm conversion long-to-int"))]]
       (`` (cond (~~ (template [  ]
-                      [(\ type.equivalence =
+                      [(# type.equivalence =
                           (type.array )
                           array_jvm_type)
                        (let [g!value (` (.|> (~ value)
diff --git a/stdlib/source/library/lux/ffi.lua.lux b/stdlib/source/library/lux/ffi.lua.lux
index bfe88282e..de47621b5 100644
--- a/stdlib/source/library/lux/ffi.lua.lux
+++ b/stdlib/source/library/lux/ffi.lua.lux
@@ -8,14 +8,14 @@
     [control
      ["[0]" io]
      ["[0]" maybe]
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser ("[1]#[0]" monad)
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      ["[0]" product]
      ["[0]" text
       ["%" format]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [type
      abstract]
     [macro {"+" [with_identifiers]}
@@ -73,7 +73,7 @@
 (def: constant
   (Parser Field)
   (.form ($_ <>.and
-                   (<>\in true)
+                   (<>#in true)
                    .local_identifier
                    ..nilable)))
 
@@ -127,7 +127,7 @@
 (def: input_variables
   (-> (List Nilable) (List [Bit Code]))
   (|>> list.enumeration
-       (list\each (function (_ [idx [nilable? type]])
+       (list#each (function (_ [idx [nilable? type]])
                     [nilable? (|> idx %.nat code.local_identifier)]))))
 
 (def: (nilable_type [nilable? type])
@@ -203,8 +203,8 @@
   (-> Code Code Code (List Nilable) Bit Bit Nilable Code)
   (let [g!inputs (input_variables inputsT)]
     (` (def: ((~ g!method)
-              [(~+ (list\each product.right g!inputs))])
-         (-> [(~+ (list\each nilable_type inputsT))]
+              [(~+ (list#each product.right g!inputs))])
+         (-> [(~+ (list#each nilable_type inputsT))]
              (~ (|> (nilable_type outputT)
                     (try_type try?)
                     (io_type io?))))
@@ -214,7 +214,7 @@
                  (without_nil g!temp outputT)
                  (` ("lua apply"
                      (:as ..Function (~ source))
-                     (~+ (list\each (with_nil g!temp) g!inputs)))))))))))
+                     (~+ (list#each (with_nil g!temp) g!inputs)))))))))))
 
 (syntax: .public (import: [import ..import])
   ... {.#doc (example "Easily import types, methods, functions and constants."
@@ -233,7 +233,7 @@
               real_class (text.replaced "/" "." class)
               imported (case (text.all_split_by "/" class)
                          {.#Item head tail}
-                         (list\mix (function (_ sub super)
+                         (list#mix (function (_ sub super)
                                      (` ("lua object get" (~ (code.text sub))
                                          (:as (..Object .Any) (~ super)))))
                                    (` ("lua import" (~ (code.text head))))
@@ -243,12 +243,12 @@
                          (` ("lua import" (~ (code.text class)))))]
           (in (list& (` (type: (~ g!type)
                           (..Object (primitive (~ (code.text real_class))))))
-                     (list\each (function (_ member)
+                     (list#each (function (_ member)
                                   (case member
                                     {#Field [static? field fieldT]}
                                     (if static?
                                       (` ((~! syntax:) ((~ (qualify field)) [])
-                                          (\ (~! meta.monad) (~' in)
+                                          (# (~! meta.monad) (~' in)
                                              (list (` (.:as (~ (nilable_type fieldT))
                                                             ("lua object get" (~ (code.text field))
                                                              (:as (..Object .Any) (~ imported)))))))))
@@ -275,9 +275,9 @@
                                       {#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))]
+                                                  [(~+ (list#each product.right g!inputs))]
                                                   (~ g!object))
-                                             (-> [(~+ (list\each nilable_type inputsT))]
+                                             (-> [(~+ (list#each nilable_type inputsT))]
                                                  (~ g!type)
                                                  (~ (|> (nilable_type outputT)
                                                         (try_type try?)
@@ -289,7 +289,7 @@
                                                      (` ("lua object do"
                                                          (~ (code.text method))
                                                          (~ g!object)
-                                                         (~+ (list\each (with_nil g!temp) g!inputs)))))))))))))
+                                                         (~+ (list#each (with_nil g!temp) g!inputs)))))))))))))
                                 members)))))
       
       {#Function [name alias inputsT io? try? outputT]}
@@ -303,7 +303,7 @@
 
       {#Constant [_ name fieldT]}
       (in (list (` ((~! syntax:) ((~ (code.local_identifier name)) [])
-                    (\ (~! meta.monad) (~' in)
+                    (# (~! meta.monad) (~' in)
                        (list (` (.:as (~ (nilable_type fieldT))
                                       ("lua constant" (~ (code.text (text.replaced "/" "." name))))))))))))
       )))
diff --git a/stdlib/source/library/lux/ffi.old.lux b/stdlib/source/library/lux/ffi.old.lux
index f54bd2b6b..6e9d50442 100644
--- a/stdlib/source/library/lux/ffi.old.lux
+++ b/stdlib/source/library/lux/ffi.old.lux
@@ -1,7 +1,7 @@
 (.module:
   [library
    [lux {"-" [type]}
-    ["[0]" type ("[1]\[0]" equivalence)]
+    ["[0]" type ("[1]#[0]" equivalence)]
     [abstract
      ["[0]" monad {"+" [Monad do]}]
      ["[0]" enum]]
@@ -14,12 +14,12 @@
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      ["[0]" product]
-     ["[0]" bit ("[1]\[0]" codec)]
-     ["[0]" text ("[1]\[0]" equivalence monoid)
+     ["[0]" bit ("[1]#[0]" codec)]
+     ["[0]" text ("[1]#[0]" equivalence monoid)
       ["%" format {"+" [format]}]]
      [collection
       ["[0]" array {"+" [Array]}]
-      ["[0]" list ("[1]\[0]" monad mix monoid)]]]
+      ["[0]" list ("[1]#[0]" monad mix monoid)]]]
     ["[0]" macro {"+" [with_identifiers]}
      [syntax {"+" [syntax:]}]
      ["[0]" code]
@@ -310,7 +310,7 @@
     
     [[name params] _ _]
     (let [name (safe name)
-          =params (list\each (class_type' mode type_params in_array?) params)]
+          =params (list#each (class_type' mode type_params in_array?) params)]
       (` (primitive (~ (code.text name)) [(~+ =params)])))))
 
 (def: (class_type' mode type_params in_array? class)
@@ -318,7 +318,7 @@
   (case class
     {#GenericTypeVar name}
     (case (list.example (function (_ [pname pbounds])
-                          (and (text\= name pname)
+                          (and (text#= name pname)
                                (not (list.empty? pbounds))))
                         type_params)
       {.#None}
@@ -353,7 +353,7 @@
 
 (def: (class_decl_type$ (^slots [#class_name #class_params]))
   (-> Class_Declaration Code)
-  (let [=params (list\each (: (-> Type_Parameter Code)
+  (let [=params (list#each (: (-> Type_Parameter Code)
                               (function (_ [pname pbounds])
                                 (case pbounds
                                   {.#End}
@@ -372,7 +372,7 @@
   (case class
     {#GenericTypeVar name}
     (case (list.example (function (_ [pname pbounds])
-                          (and (text\= name pname)
+                          (and (text#= name pname)
                                (not (list.empty? pbounds))))
                         env)
       {.#None}
@@ -439,7 +439,7 @@
   (case (f input)
     (^template []
       [[meta { parts}]
-       [meta { (list\each (pre_walk_replace f) parts)}]])
+       [meta { (list#each (pre_walk_replace f) parts)}]])
     ([.#Form]
      [.#Variant]
      [.#Tuple])
@@ -473,7 +473,7 @@
     [args (: (Parser (List Code))
              (.form (<>.after (.this! (' ::new!))
                                     (.tuple (<>.exactly (list.size arg_decls) .any)))))
-     .let [arg_decls' (: (List Text) (list\each (|>> product.right (simple_class$ params)) arg_decls))]]
+     .let [arg_decls' (: (List Text) (list#each (|>> product.right (simple_class$ params)) arg_decls))]]
     (in (` ((~ (code.text (format "jvm new" ":" class_name ":" (text.interposed "," arg_decls'))))
             (~+ args))))))
 
@@ -484,7 +484,7 @@
      args (: (Parser (List Code))
              (.form (<>.after (.this! (code.identifier ["" dotted_name]))
                                     (.tuple (<>.exactly (list.size arg_decls) .any)))))
-     .let [arg_decls' (: (List Text) (list\each (|>> product.right (simple_class$ params)) arg_decls))]]
+     .let [arg_decls' (: (List Text) (list#each (|>> product.right (simple_class$ params)) arg_decls))]]
     (in (`' ((~ (code.text (format "jvm invokestatic" ":" class_name ":" method_name ":" (text.interposed "," arg_decls'))))
              (~+ args))))))
 
@@ -496,7 +496,7 @@
         args (: (Parser (List Code))
                 (.form (<>.after (.this! (code.identifier ["" dotted_name]))
                                        (.tuple (<>.exactly (list.size arg_decls) .any)))))
-        .let [arg_decls' (: (List Text) (list\each (|>> product.right (simple_class$ params)) arg_decls))]]
+        .let [arg_decls' (: (List Text) (list#each (|>> product.right (simple_class$ params)) arg_decls))]]
        (in (`' ((~ (code.text (format  ":" class_name ":" method_name ":" (text.interposed "," arg_decls'))))
                 (~' _jvm_this) (~+ args))))))]
 
@@ -567,7 +567,7 @@
          (do <>.monad
            [name .local_identifier
             _ (no_periods_assertion name)]
-           (if (list.member? text.equivalence (list\each product.left type_vars) name)
+           (if (list.member? text.equivalence (list#each product.left type_vars) name)
              (in {#GenericTypeVar name})
              (in {#GenericClass name (list)})))
          (.tuple (do <>.monad
@@ -592,7 +592,7 @@
                          _ (no_periods_assertion name)
                          params (<>.some recur^)
                          _ (<>.assertion (format name " cannot be a type-parameter!")
-                                         (not (list.member? text.equivalence (list\each product.left type_vars) name)))]
+                                         (not (list.member? text.equivalence (list#each product.left type_vars) name)))]
                         (in {#GenericClass name params})))
          ))))
 
@@ -694,7 +694,7 @@
   ($_ <>.or
       (.this! (' "volatile"))
       (.this! (' "final"))
-      (\ <>.monad in [])))
+      (# <>.monad in [])))
 
 (def: (field_decl^ type_vars)
   (-> (List Type_Parameter) (Parser [Member_Declaration FieldDecl]))
@@ -736,7 +736,7 @@
                  [pm privacy_modifier^
                   strict_fp? (<>.parses? (.this! (' "strict")))
                   method_vars ..type_params^
-                  .let [total_vars (list\composite class_vars method_vars)]
+                  .let [total_vars (list#composite class_vars method_vars)]
                   [_ arg_decls] (.form (<>.and (.this! (' new))
                                                      (..arg_decls^ total_vars)))
                   constructor_args (..constructor_args^ total_vars)
@@ -755,7 +755,7 @@
                   strict_fp? (<>.parses? (.this! (' "strict")))
                   final? (<>.parses? (.this! (' "final")))
                   method_vars ..type_params^
-                  .let [total_vars (list\composite class_vars method_vars)]
+                  .let [total_vars (list#composite class_vars method_vars)]
                   [name this_name arg_decls] (.form ($_ <>.and
                                                               .local_identifier
                                                               .local_identifier
@@ -778,7 +778,7 @@
                  [strict_fp? (<>.parses? (.this! (' "strict")))
                   owner_class ..class_decl^
                   method_vars ..type_params^
-                  .let [total_vars (list\composite (product.right owner_class) method_vars)]
+                  .let [total_vars (list#composite (product.right owner_class) method_vars)]
                   [name this_name arg_decls] (.form ($_ <>.and
                                                               .local_identifier
                                                               .local_identifier
@@ -892,7 +892,7 @@
                      [tvars ..type_params^
                       _ (.this! (' new))
                       ?alias import_member_alias^
-                      .let [total_vars (list\composite owner_vars tvars)]
+                      .let [total_vars (list#composite owner_vars tvars)]
                       ?prim_mode (<>.maybe primitive_mode^)
                       args (..import_member_args^ total_vars)
                       [io? try? maybe?] import_member_return_flags^]
@@ -912,7 +912,7 @@
                       tvars ..type_params^
                       name .local_identifier
                       ?alias import_member_alias^
-                      .let [total_vars (list\composite owner_vars tvars)]
+                      .let [total_vars (list#composite owner_vars tvars)]
                       ?prim_mode (<>.maybe primitive_mode^)
                       args (..import_member_args^ total_vars)
                       [io? try? maybe?] import_member_return_flags^
@@ -983,7 +983,7 @@
 
 (def: (annotation$ [name params])
   (-> Annotation JVM_Code)
-  (format "(" name " " "{" (text.interposed text.tab (list\each annotation_param$ params)) "}" ")"))
+  (format "(" name " " "{" (text.interposed text.tab (list#each annotation_param$ params)) "}" ")"))
 
 (def: (bound_kind$ kind)
   (-> BoundKind JVM_Code)
@@ -998,7 +998,7 @@
     name
 
     {#GenericClass name params}
-    (format "(" (safe name) " " (spaced (list\each generic_type$ params)) ")")
+    (format "(" (safe name) " " (spaced (list#each generic_type$ params)) ")")
     
     {#GenericArray param}
     (format "(" array.type_name " " (generic_type$ param) ")")
@@ -1011,16 +1011,16 @@
 
 (def: (type_param$ [name bounds])
   (-> Type_Parameter JVM_Code)
-  (format "(" name " " (spaced (list\each generic_type$ bounds)) ")"))
+  (format "(" name " " (spaced (list#each generic_type$ bounds)) ")"))
 
 (def: (class_decl$ (^open "[0]"))
   (-> Class_Declaration JVM_Code)
-  (format "(" (safe #class_name) " " (spaced (list\each type_param$ #class_params)) ")"))
+  (format "(" (safe #class_name) " " (spaced (list#each type_param$ #class_params)) ")"))
 
 (def: (super_class_decl$ (^slots [#super_class_name #super_class_params]))
   (-> Super_Class_Decl JVM_Code)
   (format "(" (safe #super_class_name)
-          " " (spaced (list\each generic_type$ #super_class_params))
+          " " (spaced (list#each generic_type$ #super_class_params))
           ")"))
 
 (def: (method_decl$ [[name pm anns] method_decl])
@@ -1028,10 +1028,10 @@
   (let [(^slots [#method_tvars #method_inputs #method_output #method_exs]) method_decl]
     (with_parens
       (spaced (list name
-                    (with_brackets (spaced (list\each annotation$ anns)))
-                    (with_brackets (spaced (list\each type_param$ #method_tvars)))
-                    (with_brackets (spaced (list\each generic_type$ #method_exs)))
-                    (with_brackets (spaced (list\each generic_type$ #method_inputs)))
+                    (with_brackets (spaced (list#each annotation$ anns)))
+                    (with_brackets (spaced (list#each type_param$ #method_tvars)))
+                    (with_brackets (spaced (list#each generic_type$ #method_exs)))
+                    (with_brackets (spaced (list#each generic_type$ #method_inputs)))
                     (generic_type$ #method_output))
               ))))
 
@@ -1048,7 +1048,7 @@
     {#ConstantField class value}
     (with_parens
       (spaced (list "constant" name
-                    (with_brackets (spaced (list\each annotation$ anns)))
+                    (with_brackets (spaced (list#each annotation$ anns)))
                     (generic_type$ class)
                     (code.format value))
               ))
@@ -1058,7 +1058,7 @@
       (spaced (list "variable" name
                     (privacy_modifier$ pm)
                     (state_modifier$ sm)
-                    (with_brackets (spaced (list\each annotation$ anns)))
+                    (with_brackets (spaced (list#each annotation$ anns)))
                     (generic_type$ class))
               ))
     ))
@@ -1080,12 +1080,12 @@
     (with_parens
       (spaced (list "init"
                     (privacy_modifier$ pm)
-                    (bit\encoded strict_fp?)
-                    (with_brackets (spaced (list\each annotation$ anns)))
-                    (with_brackets (spaced (list\each type_param$ type_vars)))
-                    (with_brackets (spaced (list\each generic_type$ exs)))
-                    (with_brackets (spaced (list\each arg_decl$ arg_decls)))
-                    (with_brackets (spaced (list\each constructor_arg$ constructor_args)))
+                    (bit#encoded strict_fp?)
+                    (with_brackets (spaced (list#each annotation$ anns)))
+                    (with_brackets (spaced (list#each type_param$ type_vars)))
+                    (with_brackets (spaced (list#each generic_type$ exs)))
+                    (with_brackets (spaced (list#each arg_decl$ arg_decls)))
+                    (with_brackets (spaced (list#each constructor_arg$ constructor_args)))
                     (code.format (pre_walk_replace replacer body))
                     )))
     
@@ -1094,12 +1094,12 @@
       (spaced (list "virtual"
                     name
                     (privacy_modifier$ pm)
-                    (bit\encoded final?)
-                    (bit\encoded strict_fp?)
-                    (with_brackets (spaced (list\each annotation$ anns)))
-                    (with_brackets (spaced (list\each type_param$ type_vars)))
-                    (with_brackets (spaced (list\each generic_type$ exs)))
-                    (with_brackets (spaced (list\each arg_decl$ arg_decls)))
+                    (bit#encoded final?)
+                    (bit#encoded strict_fp?)
+                    (with_brackets (spaced (list#each annotation$ anns)))
+                    (with_brackets (spaced (list#each type_param$ type_vars)))
+                    (with_brackets (spaced (list#each generic_type$ exs)))
+                    (with_brackets (spaced (list#each arg_decl$ arg_decls)))
                     (generic_type$ return_type)
                     (code.format (pre_walk_replace replacer (` (let [(~ (code.local_identifier this_name)) (~' _jvm_this)]
                                                                  (~ body))))))))
@@ -1108,7 +1108,7 @@
     (let [super_replacer (parser_replacer (.form (do <>.monad
                                                          [_ (.this! (' ::super!))
                                                           args (.tuple (<>.exactly (list.size arg_decls) .any))
-                                                          .let [arg_decls' (: (List Text) (list\each (|>> product.right (simple_class$ (list)))
+                                                          .let [arg_decls' (: (List Text) (list#each (|>> product.right (simple_class$ (list)))
                                                                                                      arg_decls))]]
                                                          (in (`' ((~ (code.text (format "jvm invokespecial"
                                                                                         ":" (value@ #super_class_name super_class)
@@ -1119,11 +1119,11 @@
         (spaced (list "override"
                       (class_decl$ class_decl)
                       name
-                      (bit\encoded strict_fp?)
-                      (with_brackets (spaced (list\each annotation$ anns)))
-                      (with_brackets (spaced (list\each type_param$ type_vars)))
-                      (with_brackets (spaced (list\each generic_type$ exs)))
-                      (with_brackets (spaced (list\each arg_decl$ arg_decls)))
+                      (bit#encoded strict_fp?)
+                      (with_brackets (spaced (list#each annotation$ anns)))
+                      (with_brackets (spaced (list#each type_param$ type_vars)))
+                      (with_brackets (spaced (list#each generic_type$ exs)))
+                      (with_brackets (spaced (list#each arg_decl$ arg_decls)))
                       (generic_type$ return_type)
                       (|> (` (let [(~ (code.local_identifier this_name)) (~' _jvm_this)]
                                (~ body)))
@@ -1137,11 +1137,11 @@
       (spaced (list "static"
                     name
                     (privacy_modifier$ pm)
-                    (bit\encoded strict_fp?)
-                    (with_brackets (spaced (list\each annotation$ anns)))
-                    (with_brackets (spaced (list\each type_param$ type_vars)))
-                    (with_brackets (spaced (list\each generic_type$ exs)))
-                    (with_brackets (spaced (list\each arg_decl$ arg_decls)))
+                    (bit#encoded strict_fp?)
+                    (with_brackets (spaced (list#each annotation$ anns)))
+                    (with_brackets (spaced (list#each type_param$ type_vars)))
+                    (with_brackets (spaced (list#each generic_type$ exs)))
+                    (with_brackets (spaced (list#each arg_decl$ arg_decls)))
                     (generic_type$ return_type)
                     (code.format (pre_walk_replace replacer body)))))
 
@@ -1150,10 +1150,10 @@
       (spaced (list "abstract"
                     name
                     (privacy_modifier$ pm)
-                    (with_brackets (spaced (list\each annotation$ anns)))
-                    (with_brackets (spaced (list\each type_param$ type_vars)))
-                    (with_brackets (spaced (list\each generic_type$ exs)))
-                    (with_brackets (spaced (list\each arg_decl$ arg_decls)))
+                    (with_brackets (spaced (list#each annotation$ anns)))
+                    (with_brackets (spaced (list#each type_param$ type_vars)))
+                    (with_brackets (spaced (list#each generic_type$ exs)))
+                    (with_brackets (spaced (list#each arg_decl$ arg_decls)))
                     (generic_type$ return_type))))
 
     {#NativeMethod type_vars arg_decls return_type exs}
@@ -1161,10 +1161,10 @@
       (spaced (list "native"
                     name
                     (privacy_modifier$ pm)
-                    (with_brackets (spaced (list\each annotation$ anns)))
-                    (with_brackets (spaced (list\each type_param$ type_vars)))
-                    (with_brackets (spaced (list\each generic_type$ exs)))
-                    (with_brackets (spaced (list\each arg_decl$ arg_decls)))
+                    (with_brackets (spaced (list#each annotation$ anns)))
+                    (with_brackets (spaced (list#each type_param$ type_vars)))
+                    (with_brackets (spaced (list#each generic_type$ exs)))
+                    (with_brackets (spaced (list#each arg_decl$ arg_decls)))
                     (generic_type$ return_type))))
     ))
 
@@ -1192,19 +1192,19 @@
   (do meta.monad
     [current_module meta.current_module_name
      .let [fully_qualified_class_name (format (safe current_module) "." full_class_name)
-           field_parsers (list\each (field_parser fully_qualified_class_name) fields)
-           method_parsers (list\each (method_parser (product.right class_decl) fully_qualified_class_name) methods)
-           replacer (parser_replacer (list\mix <>.either
+           field_parsers (list#each (field_parser fully_qualified_class_name) fields)
+           method_parsers (list#each (method_parser (product.right class_decl) fully_qualified_class_name) methods)
+           replacer (parser_replacer (list#mix <>.either
                                                (<>.failure "")
-                                               (list\composite field_parsers method_parsers)))
+                                               (list#composite field_parsers method_parsers)))
            def_code (format "jvm class:"
                             (spaced (list (class_decl$ class_decl)
                                           (super_class_decl$ super)
-                                          (with_brackets (spaced (list\each super_class_decl$ interfaces)))
+                                          (with_brackets (spaced (list#each super_class_decl$ interfaces)))
                                           (inheritance_modifier$ im)
-                                          (with_brackets (spaced (list\each annotation$ annotations)))
-                                          (with_brackets (spaced (list\each field_decl$ fields)))
-                                          (with_brackets (spaced (list\each (method_def$ replacer super) methods))))))]]
+                                          (with_brackets (spaced (list#each annotation$ annotations)))
+                                          (with_brackets (spaced (list#each field_decl$ fields)))
+                                          (with_brackets (spaced (list#each (method_def$ replacer super) methods))))))]]
     (in (list (` ((~ (code.text def_code))))))))
 
 (syntax: .public (interface: [class_decl ..class_decl^
@@ -1215,9 +1215,9 @@
                               members (<>.some (..method_decl^ class_vars))])
   (let [def_code (format "jvm interface:"
                          (spaced (list (class_decl$ class_decl)
-                                       (with_brackets (spaced (list\each super_class_decl$ supers)))
-                                       (with_brackets (spaced (list\each annotation$ annotations)))
-                                       (spaced (list\each method_decl$ members)))))]
+                                       (with_brackets (spaced (list#each super_class_decl$ supers)))
+                                       (with_brackets (spaced (list#each annotation$ annotations)))
+                                       (spaced (list#each method_decl$ members)))))]
     (in (list (` ((~ (code.text def_code))))))))
 
 (syntax: .public (object [class_vars (.tuple (<>.some ..type_param^))
@@ -1229,9 +1229,9 @@
                           methods (<>.some ..overriden_method_def^)])
   (let [def_code (format "jvm anon-class:"
                          (spaced (list (super_class_decl$ super)
-                                       (with_brackets (spaced (list\each super_class_decl$ interfaces)))
-                                       (with_brackets (spaced (list\each constructor_arg$ constructor_args)))
-                                       (with_brackets (spaced (list\each (method_def$ function.identity super) methods))))))]
+                                       (with_brackets (spaced (list#each super_class_decl$ interfaces)))
+                                       (with_brackets (spaced (list#each constructor_arg$ constructor_args)))
+                                       (with_brackets (spaced (list#each (method_def$ function.identity super) methods))))))]
     (in (list (` ((~ (code.text def_code))))))))
 
 (syntax: .public (null [])
@@ -1287,12 +1287,12 @@
                          methods (<>.some partial_call^)])
   (with_identifiers [g!obj]
     (in (list (` (let [(~ g!obj) (~ obj)]
-                   (exec (~+ (list\each (complete_call$ g!obj) methods))
+                   (exec (~+ (list#each (complete_call$ g!obj) methods))
                      (~ g!obj))))))))
 
 (def: (class_import$ [full_name params])
   (-> Class_Declaration Code)
-  (let [params' (list\each (|>> product.left code.local_identifier) params)]
+  (let [params' (list#each (|>> product.left code.local_identifier) params)]
     (template.with_locals [g!_]
       (` (def: (~ (code.identifier ["" full_name]))
            Type
@@ -1304,7 +1304,7 @@
   (-> (List Type_Parameter) Import_Member_Declaration (List Type_Parameter))
   (case member
     {#ConstructorDecl [commons _]}
-    (list\composite class_tvars (value@ #import_member_tvars commons))
+    (list#composite class_tvars (value@ #import_member_tvars commons))
 
     {#MethodDecl [commons _]}
     (case (value@ #import_member_kind commons)
@@ -1312,7 +1312,7 @@
       (value@ #import_member_tvars commons)
 
       _
-      (list\composite class_tvars (value@ #import_member_tvars commons)))
+      (list#composite class_tvars (value@ #import_member_tvars commons)))
 
     _
     class_tvars))
@@ -1330,9 +1330,9 @@
                                        (in [maybe? arg_name]))))
                                 #import_member_args)
          .let [arg_classes (: (List Text)
-                              (list\each (|>> product.right (simple_class$ (list\composite type_params #import_member_tvars)))
+                              (list#each (|>> product.right (simple_class$ (list#composite type_params #import_member_tvars)))
                                          #import_member_args))
-               arg_types (list\each (: (-> [Bit GenericType] Code)
+               arg_types (list#each (: (-> [Bit GenericType] Code)
                                        (function (_ [maybe? arg])
                                          (let [arg_type (class_type (value@ #import_member_mode commons) type_params arg)]
                                            (if maybe?
@@ -1342,7 +1342,7 @@
         (in [arg_inputs arg_classes arg_types])))
 
     _
-    (\ meta.monad in [(list) (list) (list)])))
+    (# meta.monad in [(list) (list) (list)])))
 
 (def: (decorate_return_maybe class member return_term)
   (-> Class_Declaration Import_Member_Declaration Code Code)
@@ -1414,12 +1414,12 @@
 (def: (jvm_extension_inputs mode classes inputs)
   (-> Primitive_Mode (List Text) (List [Bit Code]) (List Code))
   (|> inputs
-      (list\each (function (_ [maybe? input])
+      (list#each (function (_ [maybe? input])
                    (if maybe?
                      (` ((~! !!!) (~ (un_quote input))))
                      (un_quote input))))
       (list.zipped/2 classes)
-      (list\each (auto_convert_input mode))))
+      (list#each (auto_convert_input mode))))
 
 (def: (import_name format class member)
   (-> Text Text Text Text)
@@ -1429,9 +1429,9 @@
 
 (def: syntax_inputs
   (-> (List Code) (List Code))
-  (|>> (list\each (function (_ name)
+  (|>> (list#each (function (_ name)
                     (list name (` (~! .any)))))
-       list\conjoint))
+       list#conjoint))
 
 (def: (member_def_interop type_params kind class [arg_function_inputs arg_classes arg_types] member method_prefix import_format)
   (-> (List Type_Parameter) Class_Kind Class_Declaration [(List [Bit Code]) (List Text) (List Code)] Import_Member_Declaration Text Text (Meta (List Code)))
@@ -1439,7 +1439,7 @@
         full_name (safe full_name)
         all_params (|> (member_type_vars class_tvars member)
                        (list.only free_type_param?)
-                       (list\each lux_type_parameter))]
+                       (list#each lux_type_parameter))]
     (case member
       {#EnumDecl enum_members}
       (macro.with_identifiers [g!_]
@@ -1452,7 +1452,7 @@
                                 _
                                 (let [=class_tvars (|> class_tvars
                                                        (list.only free_type_param?)
-                                                       (list\each lux_type_parameter))]
+                                                       (list#each lux_type_parameter))]
                                   (` (All ((~ g!_) (~+ =class_tvars)) (primitive (~ (code.text full_name)) [(~+ =class_tvars)]))))))
                  getter_interop (: (-> Text Code)
                                    (function (_ name)
@@ -1460,7 +1460,7 @@
                                        (` (def: (~ getter_name)
                                             (~ enum_type)
                                             ((~ (code.text (format "jvm getstatic" ":" full_name ":" name)))))))))]]
-          (in (list\each getter_interop enum_members))))
+          (in (list#each getter_interop enum_members))))
       
       {#ConstructorDecl [commons _]}
       (do meta.monad
@@ -1471,7 +1471,7 @@
                                (decorate_return_maybe class member)
                                (decorate_return_try member)
                                (decorate_return_io member))]]
-        (in (list (` ((~! syntax:) ((~ def_name) [(~+ (syntax_inputs (list\each product.right arg_function_inputs)))])
+        (in (list (` ((~! syntax:) ((~ def_name) [(~+ (syntax_inputs (list#each product.right arg_function_inputs)))])
                       ((~' in) (.list (.` (~ jvm_interop)))))))))
 
       {#MethodDecl [commons method]}
@@ -1498,13 +1498,13 @@
                                             )))
                  jvm_extension (code.text (format "jvm " jvm_op ":" full_name ":" #import_method_name ":" (text.interposed "," arg_classes)))
                  jvm_interop (|> [(simple_class$ (list) (value@ #import_method_return method))
-                                  (` ((~ jvm_extension) (~+ (list\each un_quote object_ast))
+                                  (` ((~ jvm_extension) (~+ (list#each un_quote object_ast))
                                       (~+ (jvm_extension_inputs (value@ #import_member_mode commons) arg_classes arg_function_inputs))))]
                                  (auto_convert_output (value@ #import_member_mode commons))
                                  (decorate_return_maybe class member)
                                  (decorate_return_try member)
                                  (decorate_return_io member))]]
-          (in (list (` ((~! syntax:) ((~ def_name) [(~+ (syntax_inputs (list\each product.right arg_function_inputs)))
+          (in (list (` ((~! syntax:) ((~ def_name) [(~+ (syntax_inputs (list#each product.right arg_function_inputs)))
                                                     (~+ (syntax_inputs object_ast))])
                         ((~' in) (.list (.` (~ jvm_interop))))))))))
 
@@ -1519,7 +1519,7 @@
                tvar_asts (: (List Code)
                             (|> class_tvars
                                 (list.only free_type_param?)
-                                (list\each lux_type_parameter)))
+                                (list#each lux_type_parameter)))
                getter_name (code.identifier ["" (..import_name import_format method_prefix #import_field_name)])
                setter_name (code.identifier ["" (..import_name import_format method_prefix (format #import_field_name "!"))])]
          getter_interop (with_identifiers [g!obj]
@@ -1588,7 +1588,7 @@
   (let [class_name (..safe class_name)]
     (case (..load_class class_name)
       {try.#Success class}
-      (\ meta.monad in (if (interface? class)
+      (# meta.monad in (if (interface? class)
                          {#Interface}
                          {#Class}))
 
@@ -1601,11 +1601,11 @@
   (do [! meta.monad]
     [kind (class_kind class_decl)
      =members (|> bundles
-                  (list\each (function (_ [import_format members])
-                               (list\each (|>> [import_format]) members)))
+                  (list#each (function (_ [import_format members])
+                               (list#each (|>> [import_format]) members)))
                   list.together
                   (monad.each ! (member_import$ (product.right class_decl) kind class_decl)))]
-    (in (list& (class_import$ class_decl) (list\conjoint =members)))))
+    (in (list& (class_import$ class_decl) (list#conjoint =members)))))
 
 (syntax: .public (array [type (..generic_type^ (list))
                          size .any])
@@ -1630,11 +1630,11 @@
 
 (def: (type_class_name type)
   (-> Type (Meta Text))
-  (if (type\= Any type)
-    (\ meta.monad in "java.lang.Object")
+  (if (type#= Any type)
+    (# meta.monad in "java.lang.Object")
     (case type
       {.#Primitive name params}
-      (\ meta.monad in name)
+      (# meta.monad in name)
 
       {.#Apply A F}
       (case (type.applied (list A) F)
diff --git a/stdlib/source/library/lux/ffi.php.lux b/stdlib/source/library/lux/ffi.php.lux
index 94732874e..6199df2ad 100644
--- a/stdlib/source/library/lux/ffi.php.lux
+++ b/stdlib/source/library/lux/ffi.php.lux
@@ -8,14 +8,14 @@
     [control
      ["[0]" io]
      ["[0]" maybe]
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser ("[1]#[0]" monad)
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      ["[0]" product]
      ["[0]" text
       ["%" format]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [type
      abstract]
     [macro {"+" [with_identifiers]}
@@ -80,7 +80,7 @@
 (def: constant
   (Parser Field)
   (.form ($_ <>.and
-                   (<>\in true)
+                   (<>#in true)
                    .local_identifier
                    (<>.maybe ..alias)
                    ..nullable)))
@@ -135,7 +135,7 @@
 (def: input_variables
   (-> (List Nullable) (List [Bit Code]))
   (|>> list.enumeration
-       (list\each (function (_ [idx [nullable? type]])
+       (list#each (function (_ [idx [nullable? type]])
                     [nullable? (|> idx %.nat code.local_identifier)]))))
 
 (def: (nullable_type [nullable? type])
@@ -223,8 +223,8 @@
   (-> Code Code Code (List Nullable) Bit Bit Nullable Code)
   (let [g!inputs (input_variables inputsT)]
     (` (def: ((~ g!method)
-              [(~+ (list\each product.right g!inputs))])
-         (-> [(~+ (list\each nullable_type inputsT))]
+              [(~+ (list#each product.right g!inputs))])
+         (-> [(~+ (list#each nullable_type inputsT))]
              (~ (|> (nullable_type outputT)
                     (try_type try?)
                     (io_type io?))))
@@ -234,7 +234,7 @@
                  (without_null g!temp outputT)
                  (` ("php apply"
                      (:as ..Function (~ source))
-                     (~+ (list\each (with_null g!temp) g!inputs)))))))))))
+                     (~+ (list#each (with_null g!temp) g!inputs)))))))))))
 
 (syntax: .public (import: [import ..import])
   (with_identifiers [g!temp]
@@ -251,12 +251,12 @@
               class_import (` ("php constant" (~ (code.text class))))]
           (in (list& (` (type: (~ g!type)
                           (..Object (primitive (~ (code.text class))))))
-                     (list\each (function (_ member)
+                     (list#each (function (_ member)
                                   (case member
                                     {#Field [static? field alias fieldT]}
                                     (if static?
                                       (` ((~! syntax:) ((~ (qualify (maybe.else field alias))) [])
-                                          (\ (~! meta.monad) (~' in)
+                                          (# (~! meta.monad) (~' in)
                                              (list (` (.:as (~ (nullable_type fieldT))
                                                             ("php constant" (~ (code.text (%.format class "::" field))))))))))
                                       (` (def: ((~ (qualify field))
@@ -283,9 +283,9 @@
                                       {#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))]
+                                                  [(~+ (list#each product.right g!inputs))]
                                                   (~ g!object))
-                                             (-> [(~+ (list\each nullable_type inputsT))]
+                                             (-> [(~+ (list#each nullable_type inputsT))]
                                                  (~ g!type)
                                                  (~ (|> (nullable_type outputT)
                                                         (try_type try?)
@@ -297,7 +297,7 @@
                                                      (` ("php object do"
                                                          (~ (code.text method))
                                                          (~ g!object)
-                                                         (~+ (list\each (with_null g!temp) g!inputs)))))))))))))
+                                                         (~+ (list#each (with_null g!temp) g!inputs)))))))))))))
                                 members)))))
       
       {#Function [name alias inputsT io? try? outputT]}
@@ -313,6 +313,6 @@
       {#Constant [_ name alias fieldT]}
       (let [imported (` ("php constant" (~ (code.text name))))]
         (in (list (` ((~! syntax:) ((~ (code.local_identifier (maybe.else name alias))) [])
-                      (\ (~! meta.monad) (~' in)
+                      (# (~! meta.monad) (~' in)
                          (list (` (.:as (~ (nullable_type fieldT)) (~ imported))))))))))
       )))
diff --git a/stdlib/source/library/lux/ffi.py.lux b/stdlib/source/library/lux/ffi.py.lux
index b425c9f3b..792122b9d 100644
--- a/stdlib/source/library/lux/ffi.py.lux
+++ b/stdlib/source/library/lux/ffi.py.lux
@@ -15,7 +15,7 @@
      ["[0]" text
       ["%" format]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [type
      abstract]
     [macro {"+" [with_identifiers]}
@@ -130,7 +130,7 @@
 (def: input_variables
   (-> (List Noneable) (List [Bit Code]))
   (|>> list.enumeration
-       (list\each (function (_ [idx [noneable? type]])
+       (list#each (function (_ [idx [noneable? type]])
                     [noneable? (|> idx %.nat code.local_identifier)]))))
 
 (def: (noneable_type [noneable? type])
@@ -203,8 +203,8 @@
   (-> Code Code Code (List Noneable) Bit Bit Noneable Code)
   (let [g!inputs (input_variables inputsT)]
     (` (def: ((~ g!method)
-              [(~+ (list\each product.right g!inputs))])
-         (-> [(~+ (list\each noneable_type inputsT))]
+              [(~+ (list#each product.right g!inputs))])
+         (-> [(~+ (list#each noneable_type inputsT))]
              (~ (|> (noneable_type outputT)
                     (try_type try?)
                     (io_type io?))))
@@ -214,7 +214,7 @@
                  (without_none g!temp outputT)
                  (` ("python apply"
                      (:as ..Function (~ source))
-                     (~+ (list\each (with_none g!temp) g!inputs)))))))))))
+                     (~+ (list#each (with_none g!temp) g!inputs)))))))))))
 
 (syntax: .public (import: [import ..import])
   ... {.#doc (example "Easily import types, methods, functions and constants."
@@ -253,7 +253,7 @@
               real_class (text.replaced "/" "." class)
               imported (case (text.all_split_by "/" class)
                          {.#Item head tail}
-                         (list\mix (function (_ sub super)
+                         (list#mix (function (_ sub super)
                                      (` ("python object get" (~ (code.text sub))
                                          (:as (..Object .Any) (~ super)))))
                                    (` ("python import" (~ (code.text head))))
@@ -263,23 +263,23 @@
                          (` ("python import" (~ (code.text class)))))]
           (in (list& (` (type: (~ g!type)
                           (..Object (primitive (~ (code.text real_class))))))
-                     (list\each (function (_ member)
+                     (list#each (function (_ member)
                                   (case member
                                     {#Constructor inputsT}
                                     (let [g!inputs (input_variables inputsT)]
                                       (` (def: ((~ (qualify "new"))
-                                                [(~+ (list\each product.right g!inputs))])
-                                           (-> [(~+ (list\each noneable_type inputsT))]
+                                                [(~+ (list#each product.right g!inputs))])
+                                           (-> [(~+ (list#each noneable_type inputsT))]
                                                (~ g!type))
                                            (:expected
                                             ("python apply"
                                              (:as ..Function (~ imported))
-                                             (~+ (list\each (with_none g!temp) g!inputs)))))))
+                                             (~+ (list#each (with_none g!temp) g!inputs)))))))
                                     
                                     {#Field [static? field fieldT]}
                                     (if static?
                                       (` ((~! syntax:) ((~ (qualify field)) [])
-                                          (\ (~! meta.monad) (~' in)
+                                          (# (~! meta.monad) (~' in)
                                              (list (` (.:as (~ (noneable_type fieldT))
                                                             ("python object get" (~ (code.text field))
                                                              (:as (..Object .Any) (~ imported)))))))))
@@ -306,9 +306,9 @@
                                       {#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))]
+                                                  [(~+ (list#each product.right g!inputs))]
                                                   (~ g!object))
-                                             (-> [(~+ (list\each noneable_type inputsT))]
+                                             (-> [(~+ (list#each noneable_type inputsT))]
                                                  (~ g!type)
                                                  (~ (|> (noneable_type outputT)
                                                         (try_type try?)
@@ -320,7 +320,7 @@
                                                      (` ("python object do"
                                                          (~ (code.text method))
                                                          (~ g!object)
-                                                         (~+ (list\each (with_none g!temp) g!inputs)))))))))))))
+                                                         (~+ (list#each (with_none g!temp) g!inputs)))))))))))))
                                 members)))))
       
       {#Function [name alias inputsT io? try? outputT]}
diff --git a/stdlib/source/library/lux/ffi.rb.lux b/stdlib/source/library/lux/ffi.rb.lux
index 366dc65de..2e611f72a 100644
--- a/stdlib/source/library/lux/ffi.rb.lux
+++ b/stdlib/source/library/lux/ffi.rb.lux
@@ -8,14 +8,14 @@
     [control
      ["[0]" io]
      ["[0]" maybe]
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser ("[1]#[0]" monad)
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      ["[0]" product]
      ["[0]" text
       ["%" format]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [type
      abstract]
     [macro {"+" [with_identifiers]}
@@ -80,7 +80,7 @@
 (def: constant
   (Parser Field)
   (.form ($_ <>.and
-                   (<>\in true)
+                   (<>#in true)
                    .local_identifier
                    (<>.maybe ..alias)
                    ..nilable)))
@@ -135,7 +135,7 @@
 (def: input_variables
   (-> (List Nilable) (List [Bit Code]))
   (|>> list.enumeration
-       (list\each (function (_ [idx [nilable? type]])
+       (list#each (function (_ [idx [nilable? type]])
                     [nilable? (|> idx %.nat code.local_identifier)]))))
 
 (def: (nilable_type [nilable? type])
@@ -216,8 +216,8 @@
   (-> Code Code Code (List Nilable) Bit Bit Nilable Code)
   (let [g!inputs (input_variables inputsT)]
     (` (def: ((~ g!method)
-              [(~+ (list\each product.right g!inputs))])
-         (-> [(~+ (list\each nilable_type inputsT))]
+              [(~+ (list#each product.right g!inputs))])
+         (-> [(~+ (list#each nilable_type inputsT))]
              (~ (|> (nilable_type outputT)
                     (try_type try?)
                     (io_type io?))))
@@ -227,7 +227,7 @@
                  (without_nil g!temp outputT)
                  (` ("ruby apply"
                      (:as ..Function (~ source))
-                     (~+ (list\each (with_nil g!temp) g!inputs)))))))))))
+                     (~+ (list#each (with_nil g!temp) g!inputs)))))))))))
 
 (syntax: .public (import: [[?module import] ..import])
   (with_identifiers [g!temp]
@@ -251,12 +251,12 @@
               class_import (` ("ruby constant" (~ (code.text class))))]
           (in (list& (` (type: (~ g!type)
                           (..Object (primitive (~ (code.text class))))))
-                     (list\each (function (_ member)
+                     (list#each (function (_ member)
                                   (case member
                                     {#Field [static? field alias fieldT]}
                                     (if static?
                                       (` ((~! syntax:) ((~ (qualify (maybe.else field alias))) [])
-                                          (\ (~! meta.monad) (~' in)
+                                          (# (~! meta.monad) (~' in)
                                              (list (` (.:as (~ (nilable_type fieldT))
                                                             (.exec
                                                               (~+ module_import)
@@ -287,9 +287,9 @@
                                       {#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))]
+                                                  [(~+ (list#each product.right g!inputs))]
                                                   (~ g!object))
-                                             (-> [(~+ (list\each nilable_type inputsT))]
+                                             (-> [(~+ (list#each nilable_type inputsT))]
                                                  (~ g!type)
                                                  (~ (|> (nilable_type outputT)
                                                         (try_type try?)
@@ -301,7 +301,7 @@
                                                      (` ("ruby object do"
                                                          (~ (code.text method))
                                                          (~ g!object)
-                                                         (~+ (list\each (with_nil g!temp) g!inputs)))))))))))))
+                                                         (~+ (list#each (with_nil g!temp) g!inputs)))))))))))))
                                 members)))))
       
       {#Function [name alias inputsT io? try? outputT]}
@@ -331,6 +331,6 @@
                                 (list)))
                           ("ruby constant" (~ (code.text name)))))]
         (in (list (` ((~! syntax:) ((~ (code.local_identifier (maybe.else name alias))) [])
-                      (\ (~! meta.monad) (~' in)
+                      (# (~! meta.monad) (~' in)
                          (list (` (.:as (~ (nilable_type fieldT)) (~ imported))))))))))
       )))
diff --git a/stdlib/source/library/lux/ffi.scm.lux b/stdlib/source/library/lux/ffi.scm.lux
index ba47e81ca..651d89168 100644
--- a/stdlib/source/library/lux/ffi.scm.lux
+++ b/stdlib/source/library/lux/ffi.scm.lux
@@ -8,14 +8,14 @@
     [control
      ["[0]" io]
      ["[0]" maybe]
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser ("[1]#[0]" monad)
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      ["[0]" product]
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [type
      abstract]
     [macro {"+" [with_identifiers]}
@@ -80,7 +80,7 @@
 (def: constant
   (Parser Field)
   (.form ($_ <>.and
-                   (<>\in true)
+                   (<>#in true)
                    .local_identifier
                    (<>.maybe ..alias)
                    ..nilable)))
@@ -107,7 +107,7 @@
 (def: input_variables
   (-> (List Nilable) (List [Bit Code]))
   (|>> list.enumeration
-       (list\each (function (_ [idx [nilable? type]])
+       (list#each (function (_ [idx [nilable? type]])
                     [nilable? (|> idx %.nat code.local_identifier)]))))
 
 (def: (nilable_type [nilable? type])
@@ -188,8 +188,8 @@
   (-> Code Code Code (List Nilable) Bit Bit Nilable Code)
   (let [g!inputs (input_variables inputsT)]
     (` (def: ((~ g!method)
-              [(~+ (list\each product.right g!inputs))])
-         (-> [(~+ (list\each nilable_type inputsT))]
+              [(~+ (list#each product.right g!inputs))])
+         (-> [(~+ (list#each nilable_type inputsT))]
              (~ (|> (nilable_type outputT)
                     (try_type try?)
                     (io_type io?))))
@@ -199,7 +199,7 @@
                  (without_nil g!temp outputT)
                  (` ("scheme apply"
                      (:as ..Function (~ source))
-                     (~+ (list\each (with_nil g!temp) g!inputs)))))))))))
+                     (~+ (list#each (with_nil g!temp) g!inputs)))))))))))
 
 (syntax: .public (import: [import ..import])
   (with_identifiers [g!temp]
@@ -217,6 +217,6 @@
       {#Constant [_ name alias fieldT]}
       (let [imported (` ("scheme constant" (~ (code.text name))))]
         (in (list (` ((~! syntax:) ((~ (code.local_identifier (maybe.else name alias))))
-                      (\ (~! meta.monad) (~' in)
+                      (# (~! meta.monad) (~' in)
                          (list (` (.:as (~ (nilable_type fieldT)) (~ imported))))))))))
       )))
diff --git a/stdlib/source/library/lux/locale.lux b/stdlib/source/library/lux/locale.lux
index 09c5e9add..104af190f 100644
--- a/stdlib/source/library/lux/locale.lux
+++ b/stdlib/source/library/lux/locale.lux
@@ -5,7 +5,7 @@
      [equivalence {"+" [Equivalence]}]
      ["[0]" hash {"+" [Hash]}]]
     [control
-     ["[0]" maybe ("[1]\[0]" functor)]]
+     ["[0]" maybe ("[1]#[0]" functor)]]
     [data
      ["[0]" text
       ["%" format {"+" [format]}]
@@ -26,10 +26,10 @@
     (-> Language (Maybe Territory) (Maybe Encoding) Locale)
     (:abstraction (format (language.code language)
                           (|> territory
-                              (maybe\each (|>> territory.long_code (format ..territory_separator)))
+                              (maybe#each (|>> territory.long_code (format ..territory_separator)))
                               (maybe.else ""))
                           (|> encoding
-                              (maybe\each (|>> encoding.name (format ..encoding_separator)))
+                              (maybe#each (|>> encoding.name (format ..encoding_separator)))
                               (maybe.else "")))))
 
   (def: .public code
@@ -38,9 +38,9 @@
 
   (def: .public hash
     (Hash Locale)
-    (\ hash.functor each ..code text.hash))
+    (# hash.functor each ..code text.hash))
 
   (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 7082755cd..1f9f9b591 100644
--- a/stdlib/source/library/lux/locale/language.lux
+++ b/stdlib/source/library/lux/locale/language.lux
@@ -570,5 +570,5 @@
     
     (def: hash
       (|>> ..code
-           (\ text.hash hash))))
+           (# text.hash hash))))
   )
diff --git a/stdlib/source/library/lux/locale/territory.lux b/stdlib/source/library/lux/locale/territory.lux
index 130565353..9e4542c2a 100644
--- a/stdlib/source/library/lux/locale/territory.lux
+++ b/stdlib/source/library/lux/locale/territory.lux
@@ -309,5 +309,5 @@
     (def: hash
       (|>> :representation
            (value@ #long)
-           (\ text.hash hash))))
+           (# text.hash hash))))
   )
diff --git a/stdlib/source/library/lux/macro.lux b/stdlib/source/library/lux/macro.lux
index c1b8db599..a0b263646 100644
--- a/stdlib/source/library/lux/macro.lux
+++ b/stdlib/source/library/lux/macro.lux
@@ -4,10 +4,10 @@
     [abstract
      ["[0]" monad {"+" [do]}]]
     [data
-     ["[0]" text ("[1]\[0]" monoid)]
-     ["[0]" name ("[1]\[0]" codec)]
+     ["[0]" text ("[1]#[0]" monoid)]
+     ["[0]" name ("[1]#[0]" codec)]
      [collection
-      ["[0]" list ("[1]\[0]" monoid monad)]]]
+      ["[0]" list ("[1]#[0]" monoid monad)]]]
     [macro
      ["[0]" code]]
     [math
@@ -29,10 +29,10 @@
         ((:as Macro' macro) args)
         
         {.#None}
-        (\ //.monad in (list syntax))))
+        (# //.monad in (list syntax))))
 
     _
-    (\ //.monad in (list syntax))))
+    (# //.monad in (list syntax))))
 
 (def: .public (expansion syntax)
   (-> Code (Meta (List Code)))
@@ -46,13 +46,13 @@
           [top_level_expansion ((:as Macro' macro) args)]
           (|> top_level_expansion
               (monad.each //.monad expansion)
-              (\ ! each list\conjoint)))
+              (# ! each list#conjoint)))
         
         {.#None}
-        (\ //.monad in (list syntax))))
+        (# //.monad in (list syntax))))
 
     _
-    (\ //.monad in (list syntax))))
+    (# //.monad in (list syntax))))
 
 (def: .public (full_expansion syntax)
   (-> Code (Meta (List Code)))
@@ -65,62 +65,62 @@
         (do //.monad
           [expansion ((:as Macro' macro) args)
            expansion' (monad.each //.monad full_expansion expansion)]
-          (in (list\conjoint expansion')))
+          (in (list#conjoint expansion')))
         
         {.#None}
         (do //.monad
           [parts' (monad.each //.monad full_expansion (list& (code.identifier name) args))]
-          (in (list (code.form (list\conjoint parts')))))))
+          (in (list (code.form (list#conjoint parts')))))))
 
     [_ {.#Form {.#Item [harg targs]}}]
     (do //.monad
       [harg+ (full_expansion harg)
        targs+ (monad.each //.monad full_expansion targs)]
-      (in (list (code.form (list\composite harg+ (list\conjoint (: (List (List Code)) targs+)))))))
+      (in (list (code.form (list#composite harg+ (list#conjoint (: (List (List Code)) targs+)))))))
 
     [_ {.#Variant members}]
     (do //.monad
       [members' (monad.each //.monad full_expansion members)]
-      (in (list (code.variant (list\conjoint members')))))
+      (in (list (code.variant (list#conjoint members')))))
 
     [_ {.#Tuple members}]
     (do //.monad
       [members' (monad.each //.monad full_expansion members)]
-      (in (list (code.tuple (list\conjoint members')))))
+      (in (list (code.tuple (list#conjoint members')))))
 
     _
-    (\ //.monad in (list syntax))))
+    (# //.monad in (list syntax))))
 
 (def: .public (identifier prefix)
   (-> Text (Meta Code))
   (do //.monad
     [id //.seed]
     (in (|> id
-            (\ nat.decimal encoded)
-            ($_ text\composite "__gensym__" prefix)
+            (# nat.decimal encoded)
+            ($_ text#composite "__gensym__" prefix)
             [""] code.identifier))))
 
 (def: (local_identifier ast)
   (-> Code (Meta Text))
   (case ast
     [_ {.#Identifier [_ name]}]
-    (\ //.monad in name)
+    (# //.monad in name)
 
     _
-    (//.failure (text\composite "Code is not a local identifier: " (code.format ast)))))
+    (//.failure (text#composite "Code is not a local identifier: " (code.format ast)))))
 
 (def: .public wrong_syntax_error
   (-> Name Text)
-  (|>> name\encoded
-       (text.prefix (text\composite "Wrong syntax for " text.\''))
-       (text.suffix (text\composite text.\'' "."))))
+  (|>> name#encoded
+       (text.prefix (text#composite "Wrong syntax for " text.\''))
+       (text.suffix (text#composite text.\'' "."))))
 
 (macro: .public (with_identifiers tokens)
   (case tokens
     (^ (list [_ {.#Tuple identifiers}] body))
     (do [! //.monad]
       [identifier_names (monad.each ! ..local_identifier identifiers)
-       .let [identifier_defs (list\conjoint (list\each (: (-> Text (List Code))
+       .let [identifier_defs (list#conjoint (list#each (: (-> Text (List Code))
                                                           (function (_ name) (list (code.identifier ["" name]) (` (..identifier (~ (code.text name)))))))
                                                        identifier_names))]]
       (in (list (` ((~! do) (~! //.monad)
@@ -161,8 +161,8 @@
          (do //.monad
            [location //.location
             output ( token)
-            .let [_ ("lux io log" ($_ text\composite (name\encoded macro_name) " " (location.format location)))
-                  _ (list\each (|>> code.format "lux io log")
+            .let [_ ("lux io log" ($_ text#composite (name#encoded macro_name) " " (location.format location)))
+                  _ (list#each (|>> code.format "lux io log")
                                output)
                   _ ("lux io log" "")]]
            (in (if omit?
diff --git a/stdlib/source/library/lux/macro/code.lux b/stdlib/source/library/lux/macro/code.lux
index b7c709482..2d5ffb59a 100644
--- a/stdlib/source/library/lux/macro/code.lux
+++ b/stdlib/source/library/lux/macro/code.lux
@@ -7,9 +7,9 @@
      ["[0]" product]
      ["[0]" bit]
      ["[0]" name]
-     ["[0]" text ("[1]\[0]" monoid equivalence)]
+     ["[0]" text ("[1]#[0]" monoid equivalence)]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [math
      [number
       ["[0]" nat]
@@ -65,7 +65,7 @@
     (case [x y]
       (^template [ ]
         [[[_ { x'}] [_ { y'}]]
-         (\  = x' y')])
+         (#  = x' y')])
       ([.#Bit        bit.equivalence]
        [.#Nat        nat.equivalence]
        [.#Int        int.equivalence]
@@ -76,7 +76,7 @@
 
       (^template []
         [[[_ { xs'}] [_ { ys'}]]
-         (\ (list.equivalence =) = xs' ys')])
+         (# (list.equivalence =) = xs' ys')])
       ([.#Form]
        [.#Variant]
        [.#Tuple])
@@ -89,7 +89,7 @@
   (case ast
     (^template [ ]
       [[_ { value}]
-       (\  encoded value)])
+       (#  encoded value)])
     ([.#Bit        bit.codec]
      [.#Nat        nat.decimal]
      [.#Int        int.decimal]
@@ -102,13 +102,13 @@
 
     (^template [  ]
       [[_ { members}]
-       ($_ text\composite
+       ($_ text#composite
            
-           (list\mix (function (_ next prev)
+           (list#mix (function (_ next prev)
                        (let [next (format next)]
-                         (if (text\= "" prev)
+                         (if (text#= "" prev)
                            next
-                           ($_ text\composite prev " " next))))
+                           ($_ text#composite prev " " next))))
                      ""
                      members)
            )])
@@ -119,12 +119,12 @@
 
 (def: .public (replaced original substitute ast)
   (-> Code Code Code Code)
-  (if (\ ..equivalence = original ast)
+  (if (# ..equivalence = original ast)
     substitute
     (case ast
       (^template []
         [[location { parts}]
-         [location { (list\each (replaced original substitute) parts)}]])
+         [location { (list#each (replaced original substitute) parts)}]])
       ([.#Form]
        [.#Variant]
        [.#Tuple])
diff --git a/stdlib/source/library/lux/macro/local.lux b/stdlib/source/library/lux/macro/local.lux
index 7fd34c7b3..03bd0c70c 100644
--- a/stdlib/source/library/lux/macro/local.lux
+++ b/stdlib/source/library/lux/macro/local.lux
@@ -11,7 +11,7 @@
      ["[0]" product]
      ["[0]" text]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]
+      ["[0]" list ("[1]#[0]" functor)]
       [dictionary
        ["[0]" plist {"+" [PList]}]]]]]]
   ["[0]" //
@@ -103,5 +103,5 @@
      seed meta.seed
      g!pop (//.identifier "pop")
      _ (let [g!pop (: Name ["" (//code.format g!pop)])]
-         (..push_one [g!pop (..pop_all (list\each product.left macros) g!pop)]))]
+         (..push_one [g!pop (..pop_all (list#each product.left macros) g!pop)]))]
     (in (` ((~ g!pop))))))
diff --git a/stdlib/source/library/lux/macro/syntax.lux b/stdlib/source/library/lux/macro/syntax.lux
index dcf042ead..7a00f0bc7 100644
--- a/stdlib/source/library/lux/macro/syntax.lux
+++ b/stdlib/source/library/lux/macro/syntax.lux
@@ -11,9 +11,9 @@
      ["<>" parser
       ["" code {"+" [Parser]}]]]
     [data
-     ["[0]" text ("[1]\[0]" monoid)]
+     ["[0]" text ("[1]#[0]" monoid)]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list]]]
     [math
      [number
       ["[0]" nat]
@@ -33,7 +33,7 @@
       {try.#Success [tokens output]}
       
       {try.#Failure error}
-      {try.#Failure ($_ text\composite
+      {try.#Failure ($_ text#composite
                         "Failed to parse: " (code.format binding) text.new_line
                         error)})))
 
diff --git a/stdlib/source/library/lux/macro/syntax/declaration.lux b/stdlib/source/library/lux/macro/syntax/declaration.lux
index bb7abe7b0..706fc6fdb 100644
--- a/stdlib/source/library/lux/macro/syntax/declaration.lux
+++ b/stdlib/source/library/lux/macro/syntax/declaration.lux
@@ -4,13 +4,13 @@
     [abstract
      [equivalence {"+" [Equivalence]}]]
     [control
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser ("[1]#[0]" monad)
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      ["[0]" product]
      ["[0]" text]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [macro
      ["[0]" code]]]])
 
@@ -29,7 +29,7 @@
 (def: .public parser
   (Parser Declaration)
   (<>.either (<>.and .local_identifier
-                     (<>\in (list)))
+                     (<>#in (list)))
              (.form (<>.and .local_identifier
                                   (<>.some .local_identifier)))))
 
@@ -41,4 +41,4 @@
       g!name
       
       arguments
-      (` ((~ g!name) (~+ (list\each code.local_identifier arguments)))))))
+      (` ((~ g!name) (~+ (list#each code.local_identifier arguments)))))))
diff --git a/stdlib/source/library/lux/macro/syntax/export.lux b/stdlib/source/library/lux/macro/syntax/export.lux
index 6fe7afd4b..e7f89cd42 100644
--- a/stdlib/source/library/lux/macro/syntax/export.lux
+++ b/stdlib/source/library/lux/macro/syntax/export.lux
@@ -4,7 +4,7 @@
     [abstract
      [monad {"+" [do]}]]
     [control
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser
       ["<[0]>" code {"+" [Parser]}]]]]])
 
 (def: .public default_policy
diff --git a/stdlib/source/library/lux/macro/syntax/input.lux b/stdlib/source/library/lux/macro/syntax/input.lux
index 51aa4b5fe..006cb0418 100644
--- a/stdlib/source/library/lux/macro/syntax/input.lux
+++ b/stdlib/source/library/lux/macro/syntax/input.lux
@@ -9,7 +9,7 @@
     [data
      ["[0]" product]
      [collection
-      ["[0]" list ("[1]\[0]" monad)]]]
+      ["[0]" list ("[1]#[0]" monad)]]]
     [macro
      ["[0]" code]]]])
 
@@ -27,10 +27,10 @@
 
 (def: .public format
   (-> (List Input) Code)
-  (|>> (list\each (function (_ value)
+  (|>> (list#each (function (_ value)
                     (list (value@ #binding value)
                           (value@ #type value))))
-       list\conjoint
+       list#conjoint
        code.tuple))
 
 (def: .public parser
diff --git a/stdlib/source/library/lux/macro/template.lux b/stdlib/source/library/lux/macro/template.lux
index 6a5136d15..1476d0f58 100644
--- a/stdlib/source/library/lux/macro/template.lux
+++ b/stdlib/source/library/lux/macro/template.lux
@@ -7,20 +7,20 @@
     [control
      ["[0]" try {"+" [Try]}]
      ["[0]" exception {"+" [exception:]}]
-     ["<>" parser ("[1]\[0]" functor)
+     ["<>" parser ("[1]#[0]" functor)
       ["<[0]>" code {"+" [Parser]}]]]
     [data
-     ["[0]" bit ("[1]\[0]" codec)]
+     ["[0]" bit ("[1]#[0]" codec)]
      ["[0]" text]
      [collection
-      ["[0]" list ("[1]\[0]" monad)]
+      ["[0]" list ("[1]#[0]" monad)]
       ["[0]" dictionary {"+" [Dictionary]}]]]
     [math
      [number
-      ["[0]" nat ("[1]\[0]" decimal)]
-      ["[0]" int ("[1]\[0]" decimal)]
-      ["[0]" rev ("[1]\[0]" decimal)]
-      ["[0]" frac ("[1]\[0]" decimal)]]]]]
+      ["[0]" nat ("[1]#[0]" decimal)]
+      ["[0]" int ("[1]#[0]" decimal)]
+      ["[0]" rev ("[1]#[0]" decimal)]
+      ["[0]" frac ("[1]#[0]" decimal)]]]]]
   ["[0]" //
    [syntax {"+" [syntax:]}]
    ["[0]" code]
@@ -36,12 +36,12 @@
                                body .any])
   (do [! meta.monad]
     [g!locals (|> locals
-                  (list\each //.identifier)
+                  (list#each //.identifier)
                   (monad.all !))]
     (in (list (` (.with_expansions [(~+ (|> (list.zipped/2 locals g!locals)
-                                            (list\each (function (_ [name identifier])
+                                            (list#each (function (_ [name identifier])
                                                          (list (code.local_identifier name) (as_is identifier))))
-                                            list\conjoint))]
+                                            list#conjoint))]
                    (~ body)))))))
 
 (def: (name_side module_side? parser)
@@ -63,11 +63,11 @@
           full_identifier
           (<>.either .local_identifier
                      full_identifier))
-        (<>\each bit\encoded .bit)
-        (<>\each nat\encoded .nat)
-        (<>\each int\encoded .int)
-        (<>\each rev\encoded .rev)
-        (<>\each frac\encoded .frac)
+        (<>#each bit#encoded .bit)
+        (<>#each nat#encoded .nat)
+        (<>#each int#encoded .int)
+        (<>#each rev#encoded .rev)
+        (<>#each frac#encoded .frac)
         )))
 
 (def: (part module_side?)
@@ -107,7 +107,7 @@
 
     (^template []
       [[meta { elems}]
-       [meta { (list\each (applied env) elems)}]])
+       [meta { (list#each (applied env) elems)}]])
     ([.#Form]
      [.#Variant]
      [.#Tuple])
@@ -124,8 +124,8 @@
 (exception: .public (irregular_arguments [expected Nat
                                           actual Nat])
   (exception.report
-   ["Expected" (\ nat.decimal encoded expected)]
-   ["Actual" (\ nat.decimal encoded actual)]))
+   ["Expected" (# nat.decimal encoded expected)]
+   ["Actual" (# nat.decimal encoded actual)]))
 
 (def: (macro (^slots [#parameters #template]))
   (-> Local Macro)
@@ -137,7 +137,7 @@
          (.let [environment (: Environment
                                (|> (list.zipped/2 #parameters inputs)
                                    (dictionary.of_list text.hash)))]
-           {.#Right [compiler (list\each (..applied environment) #template)]})
+           {.#Right [compiler (list#each (..applied environment) #template)]})
          (exception.except ..irregular_arguments [parameters_amount inputs_amount]))))))
 
 (def: local
@@ -162,7 +162,7 @@
 
                                            {.#Some _}
                                            true)]}))
-     g!pop (local.push (list\each (function (_ local)
+     g!pop (local.push (list#each (function (_ local)
                                     [[here_name (value@ #name local)]
                                      (..macro local)])
                                   locals))]
diff --git a/stdlib/source/library/lux/math/infix.lux b/stdlib/source/library/lux/math/infix.lux
index 36dd132d6..1983f9228 100644
--- a/stdlib/source/library/lux/math/infix.lux
+++ b/stdlib/source/library/lux/math/infix.lux
@@ -4,12 +4,12 @@
     [abstract
      [monad {"+" [do]}]]
     [control
-     ["<>" parser ("[1]\[0]" functor)
+     ["<>" parser ("[1]#[0]" functor)
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      ["[0]" product]
      [collection
-      ["[0]" list ("[1]\[0]" mix)]]]
+      ["[0]" list ("[1]#[0]" mix)]]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" code]]
@@ -29,13 +29,13 @@
 (def: literal
   (Parser Code)
   ($_ <>.either
-      (<>\each code.bit .bit)
-      (<>\each code.nat .nat)
-      (<>\each code.int .int)
-      (<>\each code.rev .rev)
-      (<>\each code.frac .frac)
-      (<>\each code.text .text)
-      (<>\each code.identifier .identifier)))
+      (<>#each code.bit .bit)
+      (<>#each code.nat .nat)
+      (<>#each code.int .int)
+      (<>#each code.rev .rev)
+      (<>#each code.frac .frac)
+      (<>#each code.text .text)
+      (<>#each code.identifier .identifier)))
 
 (def: expression
   (Parser Infix)
@@ -49,7 +49,7 @@
                            init_op .any
                            init_param expression
                            steps (<>.some (<>.and .any expression))]
-                          (in (list\mix (function (_ [op param] [_subject _op _param])
+                          (in (list#mix (function (_ [op param] [_subject _op _param])
                                           [{#Binary _subject _op _param} op param])
                                         [init_subject init_op init_param]
                                         steps))))
diff --git a/stdlib/source/library/lux/math/logic/continuous.lux b/stdlib/source/library/lux/math/logic/continuous.lux
index 26d77139c..51a915d43 100644
--- a/stdlib/source/library/lux/math/logic/continuous.lux
+++ b/stdlib/source/library/lux/math/logic/continuous.lux
@@ -6,10 +6,10 @@
      [monoid {"+" [Monoid]}]]
     [math
      [number
-      ["/" rev ("[1]\[0]" interval)]]]]])
+      ["/" rev ("[1]#[0]" interval)]]]]])
 
-(def: .public false Rev /\bottom)
-(def: .public true  Rev /\top)
+(def: .public false Rev /#bottom)
+(def: .public true  Rev /#top)
 
 (template [   ]
   [(def: .public 
diff --git a/stdlib/source/library/lux/math/modular.lux b/stdlib/source/library/lux/math/modular.lux
index 19d08eb66..711281162 100644
--- a/stdlib/source/library/lux/math/modular.lux
+++ b/stdlib/source/library/lux/math/modular.lux
@@ -15,13 +15,13 @@
       ["<[0]>" code]]]
     [data
      ["[0]" product]
-     ["[0]" text ("[1]\[0]" monoid)]]
+     ["[0]" text ("[1]#[0]" monoid)]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" code]]
     [math
      [number
-      ["i" int ("[1]\[0]" decimal)]]]
+      ["i" int ("[1]#[0]" decimal)]]]
     [type
      abstract]]]
   ["[0]" // "_"
@@ -49,8 +49,8 @@
   (exception: .public [%] (incorrect_modulus [modulus (Modulus %)
                                               parsed Int])
     (exception.report
-     ["Expected" (i\encoded (//.divisor modulus))]
-     ["Actual" (i\encoded parsed)]))
+     ["Expected" (i#encoded (//.divisor modulus))]
+     ["Actual" (i#encoded parsed)]))
 
   (def: separator
     " mod ")
@@ -65,10 +65,10 @@
 
     (def: (encoded modular)
       (let [[_ value] (:representation modular)]
-        ($_ text\composite
-            (i\encoded value)
+        ($_ text#composite
+            (i#encoded value)
             ..separator
-            (i\encoded (//.divisor expected)))))
+            (i#encoded (//.divisor expected)))))
 
     (def: decoded
       (.result
@@ -143,8 +143,8 @@
 (exception: .public [r% s%] (moduli_are_not_equal [reference (Modulus r%)
                                                    subject (Modulus s%)])
   (exception.report
-   ["Reference" (i\encoded (//.divisor reference))]
-   ["Subject" (i\encoded (//.divisor subject))]))
+   ["Reference" (i#encoded (//.divisor reference))]
+   ["Subject" (i#encoded (//.divisor subject))]))
 
 (def: .public (adapter reference subject)
   (All (_ r% s%)
diff --git a/stdlib/source/library/lux/math/number.lux b/stdlib/source/library/lux/math/number.lux
index b525754f2..81f38d91b 100644
--- a/stdlib/source/library/lux/math/number.lux
+++ b/stdlib/source/library/lux/math/number.lux
@@ -36,22 +36,22 @@
        (if (..separator_prefixed? repr')
          {try.#Failure }
          (let [repr (..without_separators repr')]
-           (case (\  decoded repr)
+           (case (#  decoded repr)
              {try.#Success value}
              {try.#Success [state (list [meta {.#Nat value}])]}
 
              (^multi {try.#Failure _}
-                     [(\  decoded repr)
+                     [(#  decoded repr)
                       {try.#Success value}])
              {try.#Success [state (list [meta {.#Int value}])]}
 
              (^multi {try.#Failure _}
-                     [(\  decoded repr)
+                     [(#  decoded repr)
                       {try.#Success value}])
              {try.#Success [state (list [meta {.#Rev value}])]}
 
              (^multi {try.#Failure _}
-                     [(\  decoded repr)
+                     [(#  decoded repr)
                       {try.#Success value}])
              {try.#Success [state (list [meta {.#Frac value}])]}
 
diff --git a/stdlib/source/library/lux/math/number/complex.lux b/stdlib/source/library/lux/math/number/complex.lux
index e6b447d69..3a785bc9e 100644
--- a/stdlib/source/library/lux/math/number/complex.lux
+++ b/stdlib/source/library/lux/math/number/complex.lux
@@ -12,7 +12,7 @@
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" code]]
@@ -297,7 +297,7 @@
           nth_phi (|> input ..argument (f./ r_nth))
           slice (|> math.pi (f.* +2.0) (f./ r_nth))]
       (|> (list.indices nth)
-          (list\each (function (_ nth')
+          (list#each (function (_ nth')
                        (let [inner (|> nth' .int int.frac
                                        (f.* slice)
                                        (f.+ nth_phi))
diff --git a/stdlib/source/library/lux/math/number/frac.lux b/stdlib/source/library/lux/math/number/frac.lux
index 892274c28..44e09abc9 100644
--- a/stdlib/source/library/lux/math/number/frac.lux
+++ b/stdlib/source/library/lux/math/number/frac.lux
@@ -222,7 +222,7 @@
 (template [  ]
   [(def: 
      (|> 
-         (\ //nat.hex decoded)
+         (# //nat.hex decoded)
          try.trusted
          ))]
 
@@ -352,7 +352,7 @@
                 after_length (//nat.- after_offset ("lux text size" representation))]
           exponent (|> representation
                        ("lux text clip" after_offset after_length)
-                       (\ codec decoded))]
+                       (# codec decoded))]
          (in [("lux text clip" 0 split_index representation)
               (//int.*  (.int exponent))]))])
     ([+1 (^or [{.#Some split_index} {.#None} {.#None} {.#None}]
@@ -377,9 +377,9 @@
                1 "-"
                0 "+"
                _ (undefined))
-             (\  encoded (.nat mantissa))
+             (#  encoded (.nat mantissa))
              ".0E"
-             (\  encoded exponent))))
+             (#  encoded exponent))))
 
      (def: (decoded representation)
        (let [negative? (text.starts_with? "-" representation)
@@ -394,16 +394,16 @@
                                          after_length (//nat.- after_offset ("lux text size" mantissa))]
                                    decimal (|> mantissa
                                                ("lux text clip" after_offset after_length)
-                                               (\  decoded))]
+                                               (#  decoded))]
                                   (in [("lux text clip" 0 split_index mantissa)
                                        decimal]))
 
                                 {.#None}
                                 {try.#Failure ("lux text concat"  representation)})
               .let [whole ("lux text clip" 1 (-- ("lux text size" whole)) whole)]
-              mantissa (\  decoded (case decimal
+              mantissa (#  decoded (case decimal
                                           0 whole
-                                          _ ("lux text concat" whole (\  encoded decimal))))
+                                          _ ("lux text concat" whole (#  encoded decimal))))
               .let [sign (if negative? 1 0)]]
              (in (..of_bits
                   ($_ //i64.or
diff --git a/stdlib/source/library/lux/math/number/i16.lux b/stdlib/source/library/lux/math/number/i16.lux
index b191de971..9323c14ce 100644
--- a/stdlib/source/library/lux/math/number/i16.lux
+++ b/stdlib/source/library/lux/math/number/i16.lux
@@ -20,7 +20,7 @@
                
                (I64 size)))
 
-(def: .public equivalence (Equivalence I16) (\ ..sub &equivalence))
-(def: .public width Nat (\ ..sub bits))
-(def: .public i16 (-> I64 I16) (\ ..sub narrow))
-(def: .public i64 (-> I16 I64) (\ ..sub wide))
+(def: .public equivalence (Equivalence I16) (# ..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 8d0e7e2b3..3f10bf254 100644
--- a/stdlib/source/library/lux/math/number/i32.lux
+++ b/stdlib/source/library/lux/math/number/i32.lux
@@ -20,7 +20,7 @@
                
                (I64 size)))
 
-(def: .public equivalence (Equivalence I32) (\ ..sub &equivalence))
-(def: .public width Nat (\ ..sub bits))
-(def: .public i32 (-> I64 I32) (\ ..sub narrow))
-(def: .public i64 (-> I32 I64) (\ ..sub wide))
+(def: .public equivalence (Equivalence I32) (# ..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 cc36ed7c5..ea2e0c4f9 100644
--- a/stdlib/source/library/lux/math/number/i64.lux
+++ b/stdlib/source/library/lux/math/number/i64.lux
@@ -159,7 +159,7 @@
                                                  (repetitions size "1")
                                                  (repetitions size "0")))
 
-                           high (try.trusted (\ n.binary decoded pattern))
+                           high (try.trusted (# n.binary decoded pattern))
                            low (..right_rotated size high)]
                        (function (_ value)
                          (..or (..right_shifted size (..and high value))
diff --git a/stdlib/source/library/lux/math/number/i8.lux b/stdlib/source/library/lux/math/number/i8.lux
index 4f6695535..c33aca004 100644
--- a/stdlib/source/library/lux/math/number/i8.lux
+++ b/stdlib/source/library/lux/math/number/i8.lux
@@ -20,7 +20,7 @@
                
                (I64 size)))
 
-(def: .public equivalence (Equivalence I8) (\ ..sub &equivalence))
-(def: .public width Nat (\ ..sub bits))
-(def: .public i8 (-> I64 I8) (\ ..sub narrow))
-(def: .public i64 (-> I8 I64) (\ ..sub wide))
+(def: .public equivalence (Equivalence I8) (# ..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 9c91fa83b..be36680d2 100644
--- a/stdlib/source/library/lux/math/number/int.lux
+++ b/stdlib/source/library/lux/math/number/int.lux
@@ -196,8 +196,8 @@
 
   [addition       ..+   +0]
   [multiplication ..*   +1]
-  [maximum        ..max (\ ..interval bottom)]
-  [minimum        ..min (\ ..interval top)]
+  [maximum        ..max (# ..interval bottom)]
+  [minimum        ..min (# ..interval top)]
   )
 
 (def: -sign "-")
@@ -209,8 +209,8 @@
      
      (def: (encoded value)
        (if (..< +0 value)
-         (|> value ++ ..opposite .nat ++ (\  encoded) ("lux text concat" ..-sign))
-         (|> value .nat (\  encoded) ("lux text concat" ..+sign))))
+         (|> value ++ ..opposite .nat ++ (#  encoded) ("lux text concat" ..-sign))
+         (|> value .nat (#  encoded) ("lux text concat" ..+sign))))
 
      (def: (decoded repr)
        (let [input_size ("lux text size" repr)]
@@ -219,14 +219,14 @@
              (^ (static ..+sign))
              (|> repr
                  ("lux text clip" 1 (-- input_size))
-                 (\  decoded)
-                 (\ try.functor each .int))
+                 (#  decoded)
+                 (# try.functor each .int))
              
              (^ (static ..-sign))
              (|> repr
                  ("lux text clip" 1 (-- input_size))
-                 (\  decoded)
-                 (\ try.functor each (|>> -- .int ..opposite --)))
+                 (#  decoded)
+                 (# try.functor each (|>> -- .int ..opposite --)))
              
              _
              {try.#Failure })
diff --git a/stdlib/source/library/lux/math/number/nat.lux b/stdlib/source/library/lux/math/number/nat.lux
index 428b8a68e..4eccc7d13 100644
--- a/stdlib/source/library/lux/math/number/nat.lux
+++ b/stdlib/source/library/lux/math/number/nat.lux
@@ -177,8 +177,8 @@
 
   [addition       ..+   0]
   [multiplication ..*   1]
-  [minimum        ..min (\ ..interval top)]
-  [maximum        ..max (\ ..interval bottom)]
+  [minimum        ..min (# ..interval top)]
+  [maximum        ..max (# ..interval bottom)]
   )
 
 (def: (binary_character value)
diff --git a/stdlib/source/library/lux/math/number/ratio.lux b/stdlib/source/library/lux/math/number/ratio.lux
index b7ef79ccb..cabd33b4b 100644
--- a/stdlib/source/library/lux/math/number/ratio.lux
+++ b/stdlib/source/library/lux/math/number/ratio.lux
@@ -15,12 +15,12 @@
       ["<[0]>" code {"+" [Parser]}]]]
     [data
      ["[0]" product]
-     ["[0]" text ("[1]\[0]" monoid)]]
+     ["[0]" text ("[1]#[0]" monoid)]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" code]]]]
   [//
-   ["n" nat ("[1]\[0]" decimal)]])
+   ["n" nat ("[1]#[0]" decimal)]])
 
 (type: .public Ratio
   (Record
@@ -132,19 +132,19 @@
   (Codec Text Ratio)
   
   (def: (encoded (^slots [#numerator #denominator]))
-    ($_ text\composite (n\encoded #numerator) ..separator (n\encoded #denominator)))
+    ($_ text#composite (n#encoded #numerator) ..separator (n#encoded #denominator)))
 
   (def: (decoded input)
     (case (text.split_by ..separator input)
       {.#Some [num denom]}
       (do try.monad
-        [numerator (n\decoded num)
-         denominator (n\decoded denom)]
+        [numerator (n#decoded num)
+         denominator (n#decoded denom)]
         (in (normal [#numerator numerator
                      #denominator denominator])))
       
       {.#None}
-      {.#Left (text\composite "Invalid syntax for ratio: " input)})))
+      {.#Left (text#composite "Invalid syntax for ratio: " input)})))
 
 (template [  ]
   [(implementation: .public 
diff --git a/stdlib/source/library/lux/math/number/rev.lux b/stdlib/source/library/lux/math/number/rev.lux
index 9228d6a65..5acce7f5b 100644
--- a/stdlib/source/library/lux/math/number/rev.lux
+++ b/stdlib/source/library/lux/math/number/rev.lux
@@ -212,7 +212,7 @@
   [(implementation: .public 
      (Monoid Rev)
      
-     (def: identity (\ interval ))
+     (def: identity (# interval ))
      (def: composite ))]
 
   [addition ..+   bottom]
@@ -230,7 +230,7 @@
        (Codec Text Rev)
        
        (def: (encoded value)
-         (let [raw_output (\  encoded (.nat value))
+         (let [raw_output (#  encoded (.nat value))
                max_num_chars (//nat.+ (//nat./  //i64.width)
                                       (case (//nat.%  //i64.width)
                                         0 0
@@ -252,7 +252,7 @@
            (if (//nat.> 1 repr_size)
              (case ("lux text char" 0 repr)
                (^ (char "."))
-               (case (\  decoded (..decimals repr))
+               (case (#  decoded (..decimals repr))
                  {try.#Success output}
                  {try.#Success (.rev output)}
 
@@ -291,11 +291,11 @@
       (array.read! idx)
       (maybe.else 0)))
 
-(def: digits\put!
+(def: digits#put!
   (-> Nat Nat Digits Digits)
   array.write!)
 
-(def: (digits\times_5! idx output)
+(def: (digits#times_5! idx output)
   (-> Nat Digits Digits)
   (loop [idx idx
          carry 0
@@ -307,17 +307,17 @@
                     (//nat.+ carry))]
         (recur (-- idx)
                (//nat./ 10 raw)
-               (digits\put! idx (//nat.% 10 raw) output))))))
+               (digits#put! idx (//nat.% 10 raw) output))))))
 
 (def: (power_digits power)
   (-> Nat Digits)
   (loop [times power
          output (|> (..digits [])
-                    (digits\put! power 1))]
+                    (digits#put! power 1))]
     (if (//int.< +0 (.int times))
       output
       (recur (-- times)
-             (digits\times_5! power output)))))
+             (digits#times_5! power output)))))
 
 (def: (format digits)
   (-> Digits Text)
@@ -335,10 +335,10 @@
           (recur (-- idx)
                  false
                  ("lux text concat"
-                  (\ //nat.decimal encoded digit)
+                  (# //nat.decimal encoded digit)
                   output)))))))
 
-(def: (digits\+! param subject)
+(def: (digits#+! param subject)
   (-> Digits Digits Digits)
   (loop [idx (-- //i64.width)
          carry 0
@@ -351,7 +351,7 @@
                     (..digit idx subject))]
         (recur (-- idx)
                (//nat./ 10 raw)
-               (digits\put! idx (//nat.% 10 raw) output))))))
+               (digits#put! idx (//nat.% 10 raw) output))))))
 
 (def: (text_digits input)
   (-> Text (Maybe Digits))
@@ -367,10 +367,10 @@
 
             {.#Some digit}
             (recur (++ idx)
-                   (digits\put! idx digit output)))
+                   (digits#put! idx digit output)))
           {.#Some output})))))
 
-(def: (digits\< param subject)
+(def: (digits#< param subject)
   (-> Digits Digits Bit)
   (loop [idx 0]
     (and (//nat.< //i64.width idx)
@@ -380,7 +380,7 @@
              (recur (++ idx))
              (//nat.< pd sd))))))
 
-(def: (digits\-!' idx param subject)
+(def: (digits#-!' idx param subject)
   (-> Nat Nat Digits Digits)
   (let [sd (..digit idx subject)]
     (if (//nat.< param sd)
@@ -388,18 +388,18 @@
                      (//nat.+ 10)
                      (//nat.- param))]
         (|> subject
-            (digits\put! idx diff)
-            (digits\-!' (-- idx) 1)))
-      (digits\put! idx (//nat.- param sd) subject))))
+            (digits#put! idx diff)
+            (digits#-!' (-- idx) 1)))
+      (digits#put! idx (//nat.- param sd) subject))))
 
-(def: (digits\-! param subject)
+(def: (digits#-! param subject)
   (-> Digits Digits Digits)
   (loop [idx (-- //i64.width)
          output subject]
     (if (//int.< +0 (.int idx))
       output
       (recur (-- idx)
-             (digits\-!' idx (..digit idx param) output)))))
+             (digits#-!' idx (..digit idx param) output)))))
 
 (implementation: .public decimal
   (Codec Text Rev)
@@ -416,7 +416,7 @@
           (if (//int.< +0 (.int idx))
             ("lux text concat" "." (..format digits))
             (if (//i64.one? idx input)
-              (let [digits' (digits\+! (power_digits (//nat.- idx last_idx))
+              (let [digits' (digits#+! (power_digits (//nat.- idx last_idx))
                                        digits)]
                 (recur (-- idx)
                        digits'))
@@ -441,10 +441,10 @@
                  output 0]
             (if (//nat.< //i64.width idx)
               (let [power (power_digits idx)]
-                (if (digits\< power digits)
+                (if (digits#< power digits)
                   ... Skip power
                   (recur digits (++ idx) output)
-                  (recur (digits\-! power digits)
+                  (recur (digits#-! power digits)
                          (++ idx)
                          (//i64.one (//nat.- idx (-- //i64.width)) output))))
               {try.#Success (.rev output)}))
diff --git a/stdlib/source/library/lux/math/random.lux b/stdlib/source/library/lux/math/random.lux
index 6db4dc53f..47c83ad6c 100644
--- a/stdlib/source/library/lux/math/random.lux
+++ b/stdlib/source/library/lux/math/random.lux
@@ -7,11 +7,11 @@
      [apply {"+" [Apply]}]
      ["[0]" monad {"+" [Monad do]}]]
     [data
-     ["[0]" text {"+" [Char]} ("[1]\[0]" monoid)
+     ["[0]" text {"+" [Char]} ("[1]#[0]" monoid)
       ["[0]" unicode "_"
        ["[1]" set]]]
      [collection
-      ["[0]" list ("[1]\[0]" mix)]
+      ["[0]" list ("[1]#[0]" mix)]
       ["[0]" array {"+" [Array]}]
       ["[0]" dictionary {"+" [Dictionary]}]
       ["[0]" queue {"+" [Queue]}]
@@ -126,7 +126,7 @@
 (template [  ]
   [(def: .public 
      (Random )
-     (\ ..monad each  ..i64))]
+     (# ..monad each  ..i64))]
 
   [nat Nat .nat]
   [int Int .int]
@@ -135,13 +135,13 @@
 
 (def: .public frac
   (Random Frac)
-  (\ ..monad each (|>> .i64 f.of_bits) ..nat))
+  (# ..monad each (|>> .i64 f.of_bits) ..nat))
 
 (def: .public safe_frac
   (Random Frac)
   (let [mantissa_range (.int (i64.left_shifted 53 1))
         mantissa_max (i.frac (-- mantissa_range))]
-    (\ ..monad each
+    (# ..monad each
        (|>> (i.% mantissa_range)
             i.frac
             (f./ mantissa_max))
@@ -155,17 +155,17 @@
         in_range (: (-> Char Char)
                     (|>> (n.% size) (n.+ start)))]
     (|> ..nat
-        (\ ..monad each in_range)
+        (# ..monad each in_range)
         (..only (unicode.member? set)))))
 
 (def: .public (text char_gen size)
   (-> (Random Char) Nat (Random Text))
   (if (n.= 0 size)
-    (\ ..monad in "")
+    (# ..monad in "")
     (do ..monad
       [x char_gen
        xs (text char_gen (-- size))]
-      (in (text\composite (text.of_char x) xs)))))
+      (in (text#composite (text.of_char x) xs)))))
 
 (template [ ]
   [(def: .public 
@@ -243,7 +243,7 @@
       [x value_gen
        xs (list (-- size) value_gen)]
       (in {.#Item x xs}))
-    (\ ..monad in (.list))))
+    (# ..monad in (.list))))
 
 (def: .public (row size value_gen)
   (All (_ a) (-> Nat (Random a) (Random (Row a))))
@@ -252,7 +252,7 @@
       [x value_gen
        xs (row (-- size) value_gen)]
       (in (row.suffix x xs)))
-    (\ ..monad in row.empty)))
+    (# ..monad in row.empty)))
 
 (template [  ]
   [(def: .public ( size value_gen)
@@ -263,7 +263,7 @@
 
   [array Array array.of_list]
   [queue Queue queue.of_list]
-  [stack Stack (list\mix stack.top stack.empty)]
+  [stack Stack (list#mix stack.top stack.empty)]
   )
 
 (def: .public (set hash size value_gen)
@@ -278,7 +278,7 @@
           (if (n.= size (set.size xs+))
             (in xs+)
             (recur [])))))
-    (\ ..monad in (set.empty hash))))
+    (# ..monad in (set.empty hash))))
 
 (def: .public (dictionary hash size key_gen value_gen)
   (All (_ k v) (-> (Hash k) Nat (Random k) (Random v) (Random (Dictionary k v))))
@@ -293,50 +293,50 @@
           (if (n.= size (dictionary.size kv+))
             (in kv+)
             (recur [])))))
-    (\ ..monad in (dictionary.empty hash))))
+    (# ..monad in (dictionary.empty hash))))
 
 (def: .public instant
   (Random Instant)
-  (\ ..monad each instant.of_millis ..int))
+  (# ..monad each instant.of_millis ..int))
 
 (def: .public date
   (Random Date)
-  (\ ..monad each instant.date ..instant))
+  (# ..monad each instant.date ..instant))
 
 (def: .public time
   (Random Time)
-  (\ ..monad each instant.time ..instant))
+  (# ..monad each instant.time ..instant))
 
 (def: .public duration
   (Random Duration)
-  (\ ..monad each duration.of_millis ..int))
+  (# ..monad each duration.of_millis ..int))
 
 (def: .public month
   (Random Month)
-  (let [(^open "\[0]") ..monad]
-    (..either (..either (..either (\in {month.#January})
-                                  (..either (\in {month.#February})
-                                            (\in {month.#March})))
-                        (..either (\in {month.#April})
-                                  (..either (\in {month.#May})
-                                            (\in {month.#June}))))
-              (..either (..either (\in {month.#July})
-                                  (..either (\in {month.#August})
-                                            (\in {month.#September})))
-                        (..either (\in {month.#October})
-                                  (..either (\in {month.#November})
-                                            (\in {month.#December})))))))
+  (let [(^open "_#[0]") ..monad]
+    (..either (..either (..either (_#in {month.#January})
+                                  (..either (_#in {month.#February})
+                                            (_#in {month.#March})))
+                        (..either (_#in {month.#April})
+                                  (..either (_#in {month.#May})
+                                            (_#in {month.#June}))))
+              (..either (..either (_#in {month.#July})
+                                  (..either (_#in {month.#August})
+                                            (_#in {month.#September})))
+                        (..either (_#in {month.#October})
+                                  (..either (_#in {month.#November})
+                                            (_#in {month.#December})))))))
 
 (def: .public day
   (Random Day)
-  (let [(^open "\[0]") ..monad]
-    (..either (..either (\in {day.#Sunday})
-                        (..either (\in {day.#Monday})
-                                  (\in {day.#Tuesday})))
-              (..either (..either (\in {day.#Wednesday})
-                                  (\in {day.#Thursday}))
-                        (..either (\in {day.#Friday})
-                                  (\in {day.#Saturday}))))))
+  (let [(^open "_#[0]") ..monad]
+    (..either (..either (_#in {day.#Sunday})
+                        (..either (_#in {day.#Monday})
+                                  (_#in {day.#Tuesday})))
+              (..either (..either (_#in {day.#Wednesday})
+                                  (_#in {day.#Thursday}))
+                        (..either (_#in {day.#Friday})
+                                  (_#in {day.#Saturday}))))))
 
 (def: .public (result prng calc)
   (All (_ a) (-> PRNG (Random a) [PRNG a]))
diff --git a/stdlib/source/library/lux/meta.lux b/stdlib/source/library/lux/meta.lux
index dbd7924ce..796cabca8 100644
--- a/stdlib/source/library/lux/meta.lux
+++ b/stdlib/source/library/lux/meta.lux
@@ -10,10 +10,10 @@
      ["[0]" try {"+" [Try]}]]
     [data
      ["[0]" product]
-     ["[0]" text ("[1]\[0]" monoid order)]
-     ["[0]" name ("[1]\[0]" codec equivalence)]
+     ["[0]" text ("[1]#[0]" monoid order)]
+     ["[0]" name ("[1]#[0]" codec equivalence)]
      [collection
-      ["[0]" list ("[1]\[0]" monoid monad)]
+      ["[0]" list ("[1]#[0]" monoid monad)]
       [dictionary
        ["[0]" plist]]]]
     [macro
@@ -121,7 +121,7 @@
       {try.#Success [lux module]}
 
       _
-      {try.#Failure ($_ text\composite "Unknown module: " name)})))
+      {try.#Failure ($_ text#composite "Unknown module: " name)})))
 
 (def: .public current_module_name
   (Meta Text)
@@ -135,10 +135,10 @@
 
 (def: .public current_module
   (Meta Module)
-  (let [(^open "\[0]") ..monad]
+  (let [(^open "#[0]") ..monad]
     (|> ..current_module_name
-        (\each ..module)
-        \conjoint)))
+        (#each ..module)
+        #conjoint)))
 
 (def: (macro_type? type)
   (-> Type Bit)
@@ -158,7 +158,7 @@
       (in [module_name name]))
 
     _
-    (\ ..monad in name)))
+    (# ..monad in name)))
 
 (def: .public (macro full_name)
   (-> Name (Meta (Maybe Macro)))
@@ -249,13 +249,13 @@
         {try.#Success [lux type']}))
 
     _
-    (\ ..monad in type)))
+    (# ..monad in type)))
 
 (def: .public (var_type name)
   (-> Text (Meta Type))
   (function (_ lux)
     (let [test (: (-> [Text [Type Any]] Bit)
-                  (|>> product.left (text\= name)))]
+                  (|>> product.left (text#= name)))]
       (case (do maybe.monad
               [scope (list.example (function (_ env)
                                      (or (list.any? test (: (List [Text [Type Any]])
@@ -273,7 +273,7 @@
         ((clean_type var_type) lux)
 
         {.#None}
-        {try.#Failure ($_ text\composite "Unknown variable: " name)}))))
+        {try.#Failure ($_ text#composite "Unknown variable: " name)}))))
 
 (def: without_lux_runtime
   (-> (List Text) (List Text))
@@ -283,12 +283,12 @@
 
 (def: listing_separator
   Text
-  ($_ text\composite text.new_line "                    "))
+  ($_ text#composite text.new_line "                    "))
 
 (def: module_listing
   (-> (List Text) Text)
   (|>> ..without_lux_runtime
-       (list.sorted text\<)
+       (list.sorted text#<)
        (text.interposed ..listing_separator)))
 
 (def: .public (definition name)
@@ -310,16 +310,16 @@
         (let [current_module (|> lux (value@ .#current_module) (maybe.else "???"))
               all_known_modules (|> lux
                                     (value@ .#modules)
-                                    (list\each product.left)
+                                    (list#each product.left)
                                     ..module_listing)]
-          {try.#Failure ($_ text\composite
-                            "Unknown definition: " (name\encoded name) text.new_line
+          {try.#Failure ($_ text#composite
+                            "Unknown definition: " (name#encoded name) text.new_line
                             "    Current module: " current_module text.new_line
                             (case (plist.value current_module (value@ .#modules lux))
                               {.#Some this_module}
                               (let [candidates (|> lux
                                                    (value@ .#modules)
-                                                   (list\each (function (_ [module_name module])
+                                                   (list#each (function (_ [module_name module])
                                                                 (|> module
                                                                     (value@ .#definitions)
                                                                     (list.all (function (_ [def_name global])
@@ -327,8 +327,8 @@
                                                                                   (^or {.#Definition [exported? _]}
                                                                                        {.#Type [exported? _]})
                                                                                   (if (and exported?
-                                                                                           (text\= normal_short def_name))
-                                                                                    {.#Some (name\encoded [module_name def_name])}
+                                                                                           (text#= normal_short def_name))
+                                                                                    {.#Some (name#encoded [module_name def_name])}
                                                                                     {.#None})
 
                                                                                   {.#Alias _}
@@ -340,17 +340,17 @@
                                                                                   {.#Slot _}
                                                                                   {.#None}))))))
                                                    list.together
-                                                   (list.sorted text\<)
+                                                   (list.sorted text#<)
                                                    (text.interposed ..listing_separator))
                                     imports (|> this_module
                                                 (value@ .#imports)
                                                 ..module_listing)
                                     aliases (|> this_module
                                                 (value@ .#module_aliases)
-                                                (list\each (function (_ [alias real]) ($_ text\composite alias " => " real)))
-                                                (list.sorted text\<)
+                                                (list#each (function (_ [alias real]) ($_ text#composite alias " => " real)))
+                                                (list.sorted text#<)
                                                 (text.interposed ..listing_separator))]
-                                ($_ text\composite
+                                ($_ text#composite
                                     "        Candidates: " candidates text.new_line
                                     "           Imports: " imports text.new_line
                                     "           Aliases: " aliases text.new_line))
@@ -368,27 +368,27 @@
       (let [[exported? def_type def_value] definition]
         (if exported?
           (in definition)
-          (failure ($_ text\composite "Definition is not an export: " (name\encoded name)))))
+          (failure ($_ text#composite "Definition is not an export: " (name#encoded name)))))
 
       {.#Type [exported? type labels]}
       (if exported?
         (in [exported? .Type type])
-        (failure ($_ text\composite "Type is not an export: " (name\encoded name))))
+        (failure ($_ text#composite "Type is not an export: " (name#encoded name))))
 
       {.#Alias de_aliased}
-      (failure ($_ text\composite
+      (failure ($_ text#composite
                    "Aliases are not considered exports: "
-                   (name\encoded name)))
+                   (name#encoded name)))
 
       {.#Label _}
-      (failure ($_ text\composite
+      (failure ($_ text#composite
                    "Tags are not considered exports: "
-                   (name\encoded name)))
+                   (name#encoded name)))
 
       {.#Slot _}
-      (failure ($_ text\composite
+      (failure ($_ text#composite
                    "Slots are not considered exports: "
-                   (name\encoded name))))))
+                   (name#encoded name))))))
 
 (def: .public (definition_type name)
   (-> Name (Meta Type))
@@ -405,14 +405,14 @@
       (in .Type)
 
       {.#Label _}
-      (failure ($_ text\composite
+      (failure ($_ text#composite
                    "Tags have no type: "
-                   (name\encoded name)))
+                   (name#encoded name)))
 
       {.#Slot _}
-      (failure ($_ text\composite
+      (failure ($_ text#composite
                    "Slots have no type: "
-                   (name\encoded name))))))
+                   (name#encoded name))))))
 
 (def: .public (type name)
   (-> Name (Meta Type))
@@ -435,34 +435,34 @@
       {.#Definition [exported? def_type def_value]}
       (let [type_code (`` ("lux in-module" (~~ (static .prelude_module)) .type_code))]
         (if (or (same? .Type def_type)
-                (\ code.equivalence =
+                (# code.equivalence =
                    (type_code .Type)
                    (type_code def_type)))
           (in (:as Type def_value))
-          (..failure ($_ text\composite "Definition is not a type: " (name\encoded name)))))
+          (..failure ($_ text#composite "Definition is not a type: " (name#encoded name)))))
 
       {.#Type [exported? type labels]}
       (in type)
 
       {.#Label _}
-      (..failure ($_ text\composite "Tag is not a type: " (name\encoded name)))
+      (..failure ($_ text#composite "Tag is not a type: " (name#encoded name)))
 
       {.#Slot _}
-      (..failure ($_ text\composite "Slot is not a type: " (name\encoded name))))))
+      (..failure ($_ text#composite "Slot is not a type: " (name#encoded name))))))
 
 (def: .public (globals module)
   (-> Text (Meta (List [Text Global])))
   (function (_ lux)
     (case (plist.value module (value@ .#modules lux))
       {.#None}
-      {try.#Failure ($_ text\composite "Unknown module: " module)}
+      {try.#Failure ($_ text#composite "Unknown module: " module)}
       
       {.#Some module}
       {try.#Success [lux (value@ .#definitions module)]})))
 
 (def: .public (definitions module)
   (-> Text (Meta (List [Text Definition])))
-  (\ ..monad each
+  (# ..monad each
      (list.all (function (_ [name global])
                  (case global
                    {.#Alias de_aliased}
@@ -509,7 +509,7 @@
       (case labels
         (^or {.#Left labels}
              {.#Right labels})
-        (in {.#Some (list\each (|>> [module_name])
+        (in {.#Some (list#each (|>> [module_name])
                                {.#Item labels})}))
 
       _
@@ -540,12 +540,12 @@
   (-> Text Text (Meta Bit))
   (do ..monad
     [(^slots [.#imports]) (..module module)]
-    (in (list.any? (text\= import) #imports))))
+    (in (list.any? (text#= import) #imports))))
 
 (def: .public (imported? import)
   (-> Text (Meta Bit))
-  (\ ..functor each
-     (|>> (value@ .#imports) (list.any? (text\= import)))
+  (# ..functor each
+     (|>> (value@ .#imports) (list.any? (text#= import)))
      ..current_module))
 
 (template [  ]
@@ -557,14 +557,14 @@
         this_module_name ..current_module_name]
        (case (plist.value name (value@ .#definitions =module))
          {.#Some { [exported? type group idx]}}
-         (if (or (text\= this_module_name module)
+         (if (or (text#= this_module_name module)
                  exported?)
-           (in [idx (list\each (|>> [module]) group) type])
-           (..failure ($_ text\composite "Cannot access "   ": " (name\encoded tag_name) " from module " this_module_name)))
+           (in [idx (list#each (|>> [module]) group) type])
+           (..failure ($_ text#composite "Cannot access "   ": " (name#encoded tag_name) " from module " this_module_name)))
 
          _
-         (..failure ($_ text\composite
-                        "Unknown "   ": " (name\encoded tag_name))))))]
+         (..failure ($_ text#composite
+                        "Unknown "   ": " (name#encoded tag_name))))))]
 
   [tag .#Label "tag"]
   [slot .#Slot "slot"]
@@ -579,8 +579,8 @@
                     (case global
                       {.#Type [exported? type labels]}
                       (if (or exported?
-                              (text\= this_module_name module))
-                        {.#Some [(list\each (|>> [module])
+                              (text#= this_module_name module))
+                        {.#Some [(list#each (|>> [module])
                                             (case labels
                                               {.#Left tags}
                                               {.#Item tags}
@@ -603,8 +603,8 @@
 
       {.#Some scopes}
       {try.#Success [lux
-                     (list\each (|>> (value@ [.#locals .#mappings])
-                                     (list\each (function (_ [name [type _]])
+                     (list#each (|>> (value@ [.#locals .#mappings])
+                                     (list#each (function (_ [name [type _]])
                                                   [name type])))
                                 scopes)]})))
 
@@ -642,7 +642,7 @@
   (All (_ a) (-> (Try a) (Meta a)))
   (case result
     {try.#Success output}
-    (\ ..monad in output)
+    (# ..monad in output)
 
     {try.#Failure error}
     (..failure error)))
@@ -650,7 +650,7 @@
 (def: .public (eval type code)
   (-> Type Code (Meta Any))
   (do [! ..monad]
-    [eval (\ ! each (value@ .#eval)
+    [eval (# ! each (value@ .#eval)
              ..compiler_state)]
     (eval type code)))
 
diff --git a/stdlib/source/library/lux/meta/location.lux b/stdlib/source/library/lux/meta/location.lux
index 963c65712..cab265419 100644
--- a/stdlib/source/library/lux/meta/location.lux
+++ b/stdlib/source/library/lux/meta/location.lux
@@ -37,9 +37,9 @@
         [file line column] it]
     ($_ "lux text concat"
         "@"
-        (`` (("lux in-module" (~~ (static .prelude_module)) .text\encoded) file)) separator
-        (`` (("lux in-module" (~~ (static .prelude_module)) .nat\encoded) line)) separator
-        (`` (("lux in-module" (~~ (static .prelude_module)) .nat\encoded) column)))))
+        (`` (("lux in-module" (~~ (static .prelude_module)) .text#encoded) file)) separator
+        (`` (("lux in-module" (~~ (static .prelude_module)) .nat#encoded) line)) separator
+        (`` (("lux in-module" (~~ (static .prelude_module)) .nat#encoded) column)))))
 
 (def: \n
   ("lux i64 char" +10))
diff --git a/stdlib/source/library/lux/program.lux b/stdlib/source/library/lux/program.lux
index f78141b02..372f88fd2 100644
--- a/stdlib/source/library/lux/program.lux
+++ b/stdlib/source/library/lux/program.lux
@@ -11,10 +11,6 @@
      ["<>" parser
       ["<[0]>" code]
       ["<[0]>" cli]]]
-    [data
-     ["[0]" text]
-     [collection
-      ["[0]" list ("[1]\[0]" monad)]]]
     [macro {"+" [with_identifiers]}
      [syntax {"+" [syntax:]}]
      ["[0]" code]]]])
diff --git a/stdlib/source/library/lux/static.lux b/stdlib/source/library/lux/static.lux
index 83bc9358e..b895838db 100644
--- a/stdlib/source/library/lux/static.lux
+++ b/stdlib/source/library/lux/static.lux
@@ -16,7 +16,7 @@
 
 (template [  ]
   [(syntax: .public ( [expression .any])
-     (\ meta.monad each
+     (# meta.monad each
         (|>> (:as )  list)
         (meta.eval  expression)))]
 
diff --git a/stdlib/source/library/lux/target/common_lisp.lux b/stdlib/source/library/lux/target/common_lisp.lux
index 77270308d..95f2f30dc 100644
--- a/stdlib/source/library/lux/target/common_lisp.lux
+++ b/stdlib/source/library/lux/target/common_lisp.lux
@@ -7,7 +7,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" monad monoid)]]]
+      ["[0]" list ("[1]#[0]" monad monoid)]]]
     [macro
      ["[0]" template]]
     [math
@@ -145,7 +145,7 @@
 
   (def: .public args
     (-> (List Var/1) Var/*)
-    (|>> (list\each ..code)
+    (|>> (list#each ..code)
          (text.interposed " ")
          ..as_form
          :abstraction))
@@ -158,7 +158,7 @@
           
           {.#Item _}
           (|> singles
-              (list\each ..code)
+              (list#each ..code)
               (text.interposed " ")
               (text.suffix " ")))
         (format "&rest " (:representation rest))
@@ -167,7 +167,7 @@
 
   (def: form
     (-> (List (Expression Any)) Expression)
-    (|>> (list\each ..code)
+    (|>> (list#each ..code)
          (text.interposed " ")
          ..as_form
          :abstraction))
@@ -188,7 +188,7 @@
   (def: .public (labels definitions body)
     (-> (List [Var/1 Lambda]) (Expression Any) (Computation Any))
     (..form (list (..var "labels")
-                  (..form (list\each (function (_ [def_name [def_args def_body]])
+                  (..form (list#each (function (_ [def_name [def_args def_body]])
                                        (..form (list def_name (:transmutation def_args) def_body)))
                                      definitions))
                   body)))
@@ -348,7 +348,7 @@
        (-> (List [Var/1 (Expression Any)]) (List (Expression Any)) (Computation Any))
        (..form (list& (..var )
                       (|> bindings
-                          (list\each (function (_ [name value])
+                          (list#each (function (_ [name value])
                                        (..form (list name value))))
                           ..form)
                       body)))]
@@ -393,7 +393,7 @@
     (-> (List Handler) (Expression Any) (Computation Any))
     (..form (list& (..var "handler-case")
                    body
-                   (list\each (function (_ [type condition handler])
+                   (list#each (function (_ [type condition handler])
                                 (..form (list type
                                               (:transmutation (..args (list condition)))
                                               handler)))
@@ -412,7 +412,7 @@
          
          _
          (:abstraction
-          (format  (|> conditions (list\each ..symbol)
+          (format  (|> conditions (list#each ..symbol)
                                (list& (..symbol "or")) ..form
                                :representation)
                   " " (:representation expression)))))]
@@ -439,7 +439,7 @@
   (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])
+                   (list#composite (list#each (function (_ [test then])
                                                 (..form (list test then)))
                                               clauses)
                                    (list (..form (list (..bool true) else)))))))
diff --git a/stdlib/source/library/lux/target/js.lux b/stdlib/source/library/lux/target/js.lux
index 7f5d30f02..52e7b0e13 100644
--- a/stdlib/source/library/lux/target/js.lux
+++ b/stdlib/source/library/lux/target/js.lux
@@ -7,7 +7,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [macro
      ["[0]" template]]
     [math
@@ -117,7 +117,7 @@
 
   (def: .public array
     (-> (List Expression) Computation)
-    (|>> (list\each ..code)
+    (|>> (list#each ..code)
          (text.interposed ..argument_separator)
          ..element
          :abstraction))
@@ -137,7 +137,7 @@
   (def: .public (apply/* function inputs)
     (-> Expression (List Expression) Computation)
     (|> inputs
-        (list\each ..code)
+        (list#each ..code)
         (text.interposed ..argument_separator)
         ..expression
         (format (:representation function))
@@ -149,7 +149,7 @@
 
   (def: .public object
     (-> (List [Text Expression]) Computation)
-    (|>> (list\each (.function (_ [key val])
+    (|>> (list#each (.function (_ [key val])
                       (format (:representation (..string key)) ..field_separator (:representation val))))
          (text.interposed ..argument_separator)
          (text.enclosed ["{" "}"])
@@ -182,7 +182,7 @@
         ..block
         (format "function " (:representation name)
                 (|> inputs
-                    (list\each ..code)
+                    (list#each ..code)
                     (text.interposed ..argument_separator)
                     ..expression)
                 " ")
@@ -201,7 +201,7 @@
         ..block
         (format "function"
                 (|> inputs
-                    (list\each ..code)
+                    (list#each ..code)
                     (text.interposed ..argument_separator)
                     ..expression)
                 " ")
@@ -283,7 +283,7 @@
     (-> Expression (List Expression) Computation)
     (|> (format "new " (:representation constructor)
                 (|> inputs
-                    (list\each ..code)
+                    (list#each ..code)
                     (text.interposed ..argument_separator)
                     ..expression))
         ..expression
@@ -398,9 +398,9 @@
     (-> Expression (List [(List Literal) Statement]) (Maybe Statement) Statement)
     (:abstraction (format "switch (" (:representation input) ") "
                           (|> (format (|> cases
-                                          (list\each (.function (_ [when then])
+                                          (list#each (.function (_ [when then])
                                                        (format (|> when
-                                                                   (list\each (|>> :representation (text.enclosed ["case " ":"])))
+                                                                   (list#each (|>> :representation (text.enclosed ["case " ":"])))
                                                                    (text.interposed text.new_line))
                                                                (..nested (:representation then)))))
                                           (text.interposed text.new_line))
@@ -418,7 +418,7 @@
 
 (def: .public (cond clauses else!)
   (-> (List [Expression Statement]) Statement Statement)
-  (list\mix (.function (_ [test then!] next!)
+  (list#mix (.function (_ [test then!] next!)
               (..if test then! next!))
             else!
             (list.reversed clauses)))
diff --git a/stdlib/source/library/lux/target/jvm/attribute/code.lux b/stdlib/source/library/lux/target/jvm/attribute/code.lux
index e887537cc..80be8c567 100644
--- a/stdlib/source/library/lux/target/jvm/attribute/code.lux
+++ b/stdlib/source/library/lux/target/jvm/attribute/code.lux
@@ -7,9 +7,9 @@
      ["[0]" product]
      ["[0]" binary {"+" [Binary]}]
      [format
-      ["[0]F" binary {"+" [Writer]} ("[1]\[0]" monoid)]]
+      ["[0]F" binary {"+" [Writer]} ("[1]#[0]" monoid)]]
      [collection
-      ["[0]" row {"+" [Row]} ("[1]\[0]" functor mix)]]]
+      ["[0]" row {"+" [Row]} ("[1]#[0]" functor mix)]]]
     [math
      [number
       ["n" nat]]]]]
@@ -51,8 +51,8 @@
       ... attribute_info attributes[attributes_count];
       (|> code
           (value@ #attributes)
-          (row\each length)
-          (row\mix n.+ 0))))
+          (row#each length)
+          (row#mix n.+ 0))))
 
 (def: .public (equivalence attribute_equivalence)
   (All (_ attribute)
@@ -67,7 +67,7 @@
 ... https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.3
 (def: .public (writer writer code)
   (All (_ Attribute) (-> (Writer Attribute) (Writer (Code Attribute))))
-  ($_ binaryF\composite
+  ($_ binaryF#composite
       ... u2 max_stack;
       ... u2 max_locals;
       (///limit.writer (value@ #limit code))
diff --git a/stdlib/source/library/lux/target/jvm/bytecode.lux b/stdlib/source/library/lux/target/jvm/bytecode.lux
index daf475a97..b427b5b95 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode.lux
@@ -17,7 +17,7 @@
      [text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]
+      ["[0]" list ("[1]#[0]" functor mix)]
       ["[0]" dictionary {"+" [Dictionary]}]
       ["[0]" row {"+" [Row]}]]]
     [macro
@@ -30,7 +30,7 @@
   ["[0]" / "_"
    ["[1][0]" address {"+" [Address]}]
    ["[1][0]" jump {"+" [Jump Big_Jump]}]
-   ["_" instruction {"+" [Primitive_Array_Type Instruction Estimator]} ("[1]\[0]" monoid)]
+   ["_" instruction {"+" [Primitive_Array_Type Instruction Estimator]} ("[1]#[0]" monoid)]
    ["[1][0]" environment {"+" [Environment]}
     [limit
      ["/[0]" registry {"+" [Register Registry]}]
@@ -97,8 +97,8 @@
             (do try.monad
               [[left_exceptions left_instruction] (left resolver)
                [right_exceptions right_instruction] (right resolver)]
-              (in [(\ row.monoid composite left_exceptions right_exceptions)
-                   (_\composite left_instruction right_instruction)]))))))
+              (in [(# row.monoid composite left_exceptions right_exceptions)
+                   (_#composite left_instruction right_instruction)]))))))
 
 (type: .public (Bytecode a)
   (+State Try [Pool Environment Tracker] (Writer Relative a)))
@@ -585,7 +585,7 @@
   (-> Nat (Bytecode Register))
   (case (//unsigned.u1 id)
     {try.#Success register}
-    (\ ..monad in register)
+    (# ..monad in register)
     
     {try.#Failure error}
     (..except ..invalid_register [id])))
@@ -698,7 +698,7 @@
 (def: (jump @from @to)
   (-> Address Address (Try Any_Jump))
   (do [! try.monad]
-    [jump (\ ! each //signed.value
+    [jump (# ! each //signed.value
              (/address.jump @from @to))]
     (let [big? (n.> (//unsigned.value //unsigned.maximum/2)
                     (.nat (i.* (if (i.< +0 jump)
@@ -706,8 +706,8 @@
                                  +1)
                                jump)))]
       (if big?
-        (\ ! each (|>> {.#Left}) (//signed.s4 jump))
-        (\ ! each (|>> {.#Right}) (//signed.s2 jump))))))
+        (# ! each (|>> {.#Left}) (//signed.s4 jump))
+        (# ! each (|>> {.#Right}) (//signed.s2 jump))))))
 
 (exception: .public (unset_label [label Label])
   (exception.report
@@ -755,7 +755,7 @@
                        (do try.monad
                          [[expected @to] (..resolve_label label resolver)
                           _ (exception.assertion ..mismatched_environments [(name_of ) label @here expected actual]
-                                                 (\ /stack.equivalence = expected actual))
+                                                 (# /stack.equivalence = expected actual))
                           jump (..jump @from @to)]
                          (case jump
                            {.#Left jump}
@@ -806,7 +806,7 @@
                        {.#Some [expected {.#Some @to}]}
                        (do try.monad
                          [_ (exception.assertion ..mismatched_environments [(name_of ) label @here expected actual]
-                                                 (\ /stack.equivalence = expected actual))
+                                                 (# /stack.equivalence = expected actual))
                           jump (..jump @from @to)]
                          (case jump
                            {.#Left jump}
@@ -853,7 +853,7 @@
         (in (let [@from (value@ #program_counter tracker)]
               [[pool
                 environment'
-                (|> (list\mix (..acknowledge_label actual) tracker (list& default at_minimum afterwards))
+                (|> (list#mix (..acknowledge_label actual) tracker (list& default at_minimum afterwards))
                     (with@ #program_counter program_counter'))]
                [(function (_ resolver)
                   (let [get (: (-> Label (Maybe [Stack (Maybe Address)]))
@@ -868,9 +868,9 @@
                             (in [@default @at_minimum @afterwards]))
                       {.#Some [@default @at_minimum @afterwards]}
                       (do [! try.monad]
-                        [>default (\ ! each ..big_jump (..jump @from @default))
-                         >at_minimum (\ ! each ..big_jump (..jump @from @at_minimum))
-                         >afterwards (monad.each ! (|>> (..jump @from) (\ ! each ..big_jump))
+                        [>default (# ! each ..big_jump (..jump @from @default))
+                         >at_minimum (# ! each ..big_jump (..jump @from @at_minimum))
+                         >afterwards (monad.each ! (|>> (..jump @from) (# ! each ..big_jump))
                                                  @afterwards)]
                         (in [..no_exceptions (bytecode minimum >default [>at_minimum >afterwards])]))
 
@@ -896,7 +896,7 @@
         (in (let [@from (value@ #program_counter tracker)]
               [[pool
                 environment'
-                (|> (list\mix (..acknowledge_label actual) tracker (list& default (list\each product.right cases)))
+                (|> (list#mix (..acknowledge_label actual) tracker (list& default (list#each product.right cases)))
                     (with@ #program_counter program_counter'))]
                [(function (_ resolver)
                   (let [get (: (-> Label (Maybe [Stack (Maybe Address)]))
@@ -910,10 +910,10 @@
                             (in [@default @cases]))
                       {.#Some [@default @cases]}
                       (do [! try.monad]
-                        [>default (\ ! each ..big_jump (..jump @from @default))
+                        [>default (# ! each ..big_jump (..jump @from @default))
                          >cases (|> @cases
-                                    (monad.each ! (|>> (..jump @from) (\ ! each ..big_jump)))
-                                    (\ ! each (|>> (list.zipped/2 (list\each product.left cases)))))]
+                                    (monad.each ! (|>> (..jump @from) (# ! each ..big_jump)))
+                                    (# ! each (|>> (list.zipped/2 (list#each product.left cases)))))]
                         (in [..no_exceptions (bytecode >default >cases)]))
 
                       {.#None}
@@ -980,8 +980,8 @@
                     [//constant/pool.#name method
                      //constant/pool.#descriptor (type.descriptor type)])
           .let [consumption (|> inputs
-                                (list\each ..type_size)
-                                (list\mix n.+ (if  0 1))
+                                (list#each ..type_size)
+                                (list#mix n.+ (if  0 1))
                                 //unsigned.u1
                                 try.trusted)
                 production (|> output ..type_size //unsigned.u1 try.trusted)]]
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/address.lux b/stdlib/source/library/lux/target/jvm/bytecode/address.lux
index 73239ffd2..a4dc3d5ce 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/address.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/address.lux
@@ -38,7 +38,7 @@
     (-> U2 (-> Address (Try Address)))
     (|>> :representation
          (///unsigned.+/2 distance)
-         (\ try.functor each (|>> :abstraction))))
+         (# try.functor each (|>> :abstraction))))
 
   (def: with_sign
     (-> Address (Try S4))
@@ -60,7 +60,7 @@
     (Equivalence Address)
     
     (def: (= reference subject)
-      (\ ///unsigned.equivalence =
+      (# ///unsigned.equivalence =
          (:representation reference)
          (:representation subject))))
 
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/environment.lux b/stdlib/source/library/lux/target/jvm/bytecode/environment.lux
index 5583757a7..091c91798 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/environment.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/environment.lux
@@ -74,7 +74,7 @@
   (-> Stack Environment (Try [Stack Environment]))
   (case (value@ ..#stack environment)
     {.#Some actual}
-    (if (\ /stack.equivalence = expected actual)
+    (if (# /stack.equivalence = expected actual)
       {try.#Success [actual environment]}
       (exception.except ..mismatched_stacks [expected actual]))
 
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit.lux b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit.lux
index 131d968ef..f2f9407ab 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit.lux
@@ -9,7 +9,7 @@
     [data
      ["[0]" product]
      ["[0]" format "_"
-      ["[1]" binary {"+" [Writer]} ("[1]\[0]" monoid)]]]
+      ["[1]" binary {"+" [Writer]} ("[1]#[0]" monoid)]]]
     [math
      [number
       ["n" nat]]]]]
@@ -53,7 +53,7 @@
 
 (def: .public (writer limit)
   (Writer Limit)
-  ($_ format\composite
+  ($_ format#composite
       (/stack.writer (value@ #stack limit))
       (/registry.writer (value@ #registry limit))
       ))
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux
index 506e041be..b3ba2cd9a 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux
@@ -4,12 +4,12 @@
     [abstract
      ["[0]" equivalence {"+" [Equivalence]}]]
     [control
-     ["[0]" try {"+" [Try]} ("[1]\[0]" functor)]]
+     ["[0]" try {"+" [Try]} ("[1]#[0]" functor)]]
     [data
      [format
       [binary {"+" [Writer]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [math
      [number
       ["n" nat]]]
@@ -39,12 +39,12 @@
     (-> (Type Method) Nat)
     (let [[type_variables inputs output exceptions] (/////type/parser.method type)]
       (|> inputs
-          (list\each (function (_ input)
+          (list#each (function (_ input)
                        (if (or (same? /////type.long input)
                                (same? /////type.double input))
                          ..wide
                          ..normal)))
-          (list\mix n.+ 0))))
+          (list#mix n.+ 0))))
 
   (template [ ]
     [(def: .public 
@@ -52,7 +52,7 @@
        (|>> ..minimal
             (n.+ )
             /////unsigned.u2
-            (try\each ..registry)))]
+            (try#each ..registry)))]
 
     [0 static]
     [1 virtual]
@@ -60,7 +60,7 @@
 
   (def: .public equivalence
     (Equivalence Registry)
-    (\ equivalence.functor each
+    (# equivalence.functor each
        (|>> :representation)
        /////unsigned.equivalence))
 
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux
index c6c132a8c..32ca66e4f 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux
@@ -31,7 +31,7 @@
 
   (def: .public equivalence
     (Equivalence Stack)
-    (\ equivalence.functor each
+    (# equivalence.functor each
        (|>> :representation)
        /////unsigned.equivalence))
 
@@ -48,7 +48,7 @@
        (-> U2 (-> Stack (Try Stack)))
        (|>> :representation
             ( amount)
-            (\ try.functor each ..stack)))]
+            (# try.functor each ..stack)))]
 
     [/////unsigned.+/2 push]
     [/////unsigned.-/2 pop]
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux b/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
index 85f97d48f..e2c89d203 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
@@ -609,7 +609,7 @@
                  tableswitch_size (try.trusted
                                    (do [! try.monad]
                                      [size (///unsigned.u2 size)]
-                                     (\ ! each (|>> estimator ///unsigned.value)
+                                     (# ! each (|>> estimator ///unsigned.value)
                                         (//address.move size //address.start))))
                  tableswitch_mutation (: Mutation
                                          (function (_ [offset binary])
@@ -673,7 +673,7 @@
                  lookupswitch_size (try.trusted
                                     (do [! try.monad]
                                       [size (///unsigned.u2 size)]
-                                      (\ ! each (|>> estimator ///unsigned.value)
+                                      (# ! each (|>> estimator ///unsigned.value)
                                          (//address.move size //address.start))))
                  lookupswitch_mutation (: Mutation
                                           (function (_ [offset binary])
diff --git a/stdlib/source/library/lux/target/jvm/class.lux b/stdlib/source/library/lux/target/jvm/class.lux
index 4d4333238..f3d6bfae5 100644
--- a/stdlib/source/library/lux/target/jvm/class.lux
+++ b/stdlib/source/library/lux/target/jvm/class.lux
@@ -10,7 +10,7 @@
     [data
      ["[0]" product]
      [format
-      ["[0]F" binary {"+" [Writer]} ("[1]\[0]" monoid)]]
+      ["[0]F" binary {"+" [Writer]} ("[1]#[0]" monoid)]]
      [collection
       ["[0]" row {"+" [Row]}]]]]]
   ["[0]" // "_"
@@ -114,7 +114,7 @@
 
 (def: .public (writer class)
   (Writer Class)
-  (`` ($_ binaryF\composite
+  (`` ($_ binaryF#composite
           (~~ (template [ ]
                 [( (value@  class))]
 
diff --git a/stdlib/source/library/lux/target/jvm/constant.lux b/stdlib/source/library/lux/target/jvm/constant.lux
index 51517ff74..d4841fd43 100644
--- a/stdlib/source/library/lux/target/jvm/constant.lux
+++ b/stdlib/source/library/lux/target/jvm/constant.lux
@@ -11,7 +11,7 @@
      ["[0]" product]
      ["[0]" text]
      [format
-      ["[0]F" binary {"+" [Writer]} ("[1]\[0]" monoid)]]
+      ["[0]F" binary {"+" [Writer]} ("[1]#[0]" monoid)]]
      [collection
       ["[0]" row {"+" [Row]}]]]
     [macro
@@ -54,7 +54,7 @@
 
   (def: .public class_equivalence
     (Equivalence Class)
-    (\ equivalence.functor each
+    (# equivalence.functor each
        ..index
        //index.equivalence))
 
@@ -94,7 +94,7 @@
     (All (_ kind)
       (-> (Equivalence kind)
           (Equivalence (Value kind))))
-    (\ equivalence.functor each
+    (# equivalence.functor each
        (|>> :representation)
        Equivalence))
 
@@ -187,7 +187,7 @@
      (case [reference sample]
        (^template [ ]
          [[{ reference} { sample}]
-          (\  = reference sample)])
+          (#  = reference sample)])
        ([#UTF8 text.equivalence]
         [#Integer (..value_equivalence i32.equivalence)]
         [#Long (..value_equivalence int.equivalence)]
@@ -245,7 +245,7 @@
       (case value
         (^template [  ]
           [{ value}
-           (binaryF\composite (/tag.writer )
+           (binaryF#composite (/tag.writer )
                               ( value))])
         ()
         ))))
diff --git a/stdlib/source/library/lux/target/jvm/constant/pool.lux b/stdlib/source/library/lux/target/jvm/constant/pool.lux
index dc60b3c55..f3cab4463 100644
--- a/stdlib/source/library/lux/target/jvm/constant/pool.lux
+++ b/stdlib/source/library/lux/target/jvm/constant/pool.lux
@@ -12,9 +12,9 @@
      ["[0]" product]
      ["[0]" text]
      ["[0]" format "_"
-      ["[1]" binary {"+" [Writer]} ("specification\[0]" monoid)]]
+      ["[1]" binary {"+" [Writer]} ("specification#[0]" monoid)]]
      [collection
-      ["[0]" row {"+" [Row]} ("[1]\[0]" mix)]]]
+      ["[0]" row {"+" [Row]} ("[1]#[0]" mix)]]]
     [macro
      ["[0]" template]]
     [math
@@ -60,7 +60,7 @@
              {try.#Success entry}
              (case entry
                [index { reference}]
-               (if (\  = reference ')
+               (if (#  = reference ')
                  {try.#Success [[current pool]
                                 index]}
                  )
@@ -76,7 +76,7 @@
                           (|> current
                               //index.value
                               (//unsigned.+/2 @new)
-                              (\ ! each //index.index)))]
+                              (# ! each //index.index)))]
                  (in [[next
                        (row.suffix [current new] pool)]
                       current]))))))))])
@@ -149,8 +149,8 @@
 (def: .public writer
   (Writer Pool)
   (function (_ [next pool])
-    (row\mix (function (_ [_index post] pre)
-               (specification\composite pre (//.writer post)))
+    (row#mix (function (_ [_index post] pre)
+               (specification#composite pre (//.writer post)))
              (format.bits/16 (!index next))
              pool)))
 
diff --git a/stdlib/source/library/lux/target/jvm/field.lux b/stdlib/source/library/lux/target/jvm/field.lux
index 9dcc7abe9..9ec1ef046 100644
--- a/stdlib/source/library/lux/target/jvm/field.lux
+++ b/stdlib/source/library/lux/target/jvm/field.lux
@@ -7,7 +7,7 @@
     [data
      ["[0]" product]
      [format
-      ["[0]F" binary {"+" [Writer]} ("[1]\[0]" monoid)]]
+      ["[0]F" binary {"+" [Writer]} ("[1]#[0]" monoid)]]
      [collection
       ["[0]" row {"+" [Row]}]]]]]
   ["[0]" // "_"
@@ -50,7 +50,7 @@
 
 (def: .public (writer field)
   (Writer Field)
-  (`` ($_ binaryF\composite
+  (`` ($_ binaryF#composite
           (~~ (template [ ]
                 [( (value@  field))]
 
diff --git a/stdlib/source/library/lux/target/jvm/index.lux b/stdlib/source/library/lux/target/jvm/index.lux
index 361514578..13b965aa5 100644
--- a/stdlib/source/library/lux/target/jvm/index.lux
+++ b/stdlib/source/library/lux/target/jvm/index.lux
@@ -28,7 +28,7 @@
 
   (def: .public equivalence
     (All (_ kind) (Equivalence (Index kind)))
-    (\ equivalence.functor each
+    (# equivalence.functor each
        ..value
        //unsigned.equivalence))
 
diff --git a/stdlib/source/library/lux/target/jvm/method.lux b/stdlib/source/library/lux/target/jvm/method.lux
index 25338a20a..66f3d9f7d 100644
--- a/stdlib/source/library/lux/target/jvm/method.lux
+++ b/stdlib/source/library/lux/target/jvm/method.lux
@@ -9,7 +9,7 @@
     [data
      ["[0]" product]
      ["[0]" format "_"
-      ["[1]" binary {"+" [Writer]} ("[1]\[0]" monoid)]]
+      ["[1]" binary {"+" [Writer]} ("[1]#[0]" monoid)]]
      [collection
       ["[0]" row {"+" [Row]}]]]]]
   ["[0]" // "_"
@@ -57,7 +57,7 @@
      @descriptor (//constant/pool.descriptor (//type.descriptor type))
      attributes (|> attributes
                     (monad.all !)
-                    (\ ! each row.of_list))
+                    (# ! each row.of_list))
      attributes (case code
                   {.#Some code}
                   (do !
@@ -95,7 +95,7 @@
 
 (def: .public (writer field)
   (Writer Method)
-  (`` ($_ format\composite
+  (`` ($_ format#composite
           (~~ (template [ ]
                 [( (value@  field))]
 
diff --git a/stdlib/source/library/lux/target/jvm/modifier.lux b/stdlib/source/library/lux/target/jvm/modifier.lux
index c37bb039b..31306b4bb 100644
--- a/stdlib/source/library/lux/target/jvm/modifier.lux
+++ b/stdlib/source/library/lux/target/jvm/modifier.lux
@@ -34,7 +34,7 @@
     (All (_ of) (Equivalence (Modifier of)))
     
     (def: (= reference sample)
-      (\ //unsigned.equivalence =
+      (# //unsigned.equivalence =
          (:representation reference)
          (:representation sample))))
 
@@ -54,7 +54,7 @@
     (let [sub (!unwrap sub)]
       (|> (!unwrap super)
           (i64.and sub)
-          (\ i64.equivalence = sub))))
+          (# i64.equivalence = sub))))
 
   (implementation: .public monoid
     (All (_ of) (Monoid (Modifier of)))
@@ -67,7 +67,7 @@
 
   (def: .public empty
     Modifier
-    (\ ..monoid identity))
+    (# ..monoid identity))
 
   (def: .public writer
     (All (_ of) (Writer (Modifier of)))
diff --git a/stdlib/source/library/lux/target/jvm/reflection.lux b/stdlib/source/library/lux/target/jvm/reflection.lux
index 6c4467ae7..bad48f5ee 100644
--- a/stdlib/source/library/lux/target/jvm/reflection.lux
+++ b/stdlib/source/library/lux/target/jvm/reflection.lux
@@ -11,10 +11,10 @@
      [parser
       ["" text]]]
     [data
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" mix functor)]
+      ["[0]" list ("[1]#[0]" mix functor)]
       ["[0]" array]
       ["[0]" dictionary]]]
     [math
@@ -151,7 +151,7 @@
                              (:as (java/lang/Class java/lang/Object))
                              java/lang/Class::getName)]
           (`` (if (or (~~ (template []
-                            [(text\= (/reflection.reflection )
+                            [(text#= (/reflection.reflection )
                                      class_name)]
 
                             [/reflection.boolean]
@@ -208,7 +208,7 @@
                {try.#Success /.wildcard}
 
                _
-               (\ try.monad each  (..class' parameter bound)))])
+               (# try.monad each  (..class' parameter bound)))])
           ([[_ {.#Some bound}] /.upper]
            [[{.#Some bound} _] /.lower])
           
@@ -230,7 +230,7 @@
                              (:as (java/lang/Class java/lang/Object))
                              java/lang/Class::getName)]
           (`` (cond (~~ (template [ ]
-                          [(text\= (/reflection.reflection )
+                          [(text#= (/reflection.reflection )
                                    class_name)
                            {try.#Success }]
 
@@ -251,7 +251,7 @@
         (|> reflection
             java/lang/reflect/GenericArrayType::getGenericComponentType
             type
-            (\ try.monad each /.array))
+            (# try.monad each /.array))
         _)
       ... else
       (..parameter reflection)))
@@ -264,7 +264,7 @@
       (let [class_name (|> reflection
                            (:as (java/lang/Class java/lang/Object))
                            java/lang/Class::getName)]
-        (if (text\= (/reflection.reflection /reflection.void)
+        (if (text#= (/reflection.reflection /reflection.void)
                     class_name)
           {try.#Success /.void}
           ))
@@ -300,12 +300,12 @@
           class_params (array.list {.#None} (java/lang/Class::getTypeParameters class))
           num_class_params (list.size class_params)
           num_type_params (list.size params)]
-      (if (text\= class_name name)
+      (if (text#= class_name name)
         (if (n.= num_class_params num_type_params)
           (|> params
-              (list.zipped/2 (list\each (|>> java/lang/reflect/TypeVariable::getName)
+              (list.zipped/2 (list#each (|>> java/lang/reflect/TypeVariable::getName)
                                         class_params))
-              (list\mix (function (_ [name paramT] mapping)
+              (list#mix (function (_ [name paramT] mapping)
                           (dictionary.has name paramT mapping))
                         /lux.fresh)
               {try.#Success})
@@ -375,7 +375,7 @@
           (|> fieldJ
                      java/lang/reflect/Field::getGenericType
                      ..type
-                     (\ ! each (|>> [(java/lang/reflect/Modifier::isFinal modifiers)
+                     (# ! each (|>> [(java/lang/reflect/Modifier::isFinal modifiers)
                                      (..deprecated? (java/lang/reflect/Field::getDeclaredAnnotations fieldJ))])))
           (exception.except  [field class]))))]
 
diff --git a/stdlib/source/library/lux/target/jvm/type.lux b/stdlib/source/library/lux/target/jvm/type.lux
index 9042ebb03..737d7e878 100644
--- a/stdlib/source/library/lux/target/jvm/type.lux
+++ b/stdlib/source/library/lux/target/jvm/type.lux
@@ -10,7 +10,7 @@
      ["[0]" text
       ["%" format {"+" [Format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [math
      [number
       ["n" nat]]]
@@ -85,14 +85,14 @@
   (def: .public (class name parameters)
     (-> External (List (Type Parameter)) (Type Class))
     (:abstraction
-     [(/signature.class name (list\each ..signature parameters))
+     [(/signature.class name (list#each ..signature parameters))
       (/descriptor.class name)
       (/reflection.class name)]))
 
   (def: .public (declaration name variables)
     (-> External (List (Type Var)) (Type Declaration))
     (:abstraction
-     [(/signature.declaration name (list\each ..signature variables))
+     [(/signature.declaration name (list#each ..signature variables))
       (/descriptor.declaration name)
       (/reflection.declaration name)]))
 
@@ -141,11 +141,11 @@
          (List (Type Class))]
         (Type Method))
     (:abstraction
-     [(/signature.method [(list\each ..signature type_variables)
-                          (list\each ..signature inputs)
+     [(/signature.method [(list#each ..signature type_variables)
+                          (list#each ..signature inputs)
                           (..signature output)
-                          (list\each ..signature exceptions)])
-      (/descriptor.method [(list\each ..descriptor inputs)
+                          (list#each ..signature exceptions)])
+      (/descriptor.method [(list#each ..descriptor inputs)
                            (..descriptor output)])
       (:expected ..void)]))
 
@@ -153,7 +153,7 @@
     (All (_ category) (Equivalence (Type category)))
 
     (def: (= parameter subject)
-      (\ /signature.equivalence =
+      (# /signature.equivalence =
          (..signature parameter)
          (..signature subject))))
 
@@ -161,13 +161,13 @@
     (All (_ category) (Hash (Type category)))
 
     (def: &equivalence ..equivalence)
-    (def: hash (|>> ..signature (\ /signature.hash hash))))
+    (def: hash (|>> ..signature (# /signature.hash hash))))
 
   (def: .public (primitive? type)
     (-> (Type Value) (Either (Type Object)
                              (Type Primitive)))
     (if (`` (or (~~ (template []
-                      [(\ ..equivalence = (: (Type Value) ) type)]
+                      [(# ..equivalence = (: (Type Value) ) type)]
                       
                       [..boolean]
                       [..byte]
@@ -184,7 +184,7 @@
     (-> (Type Return) (Either (Type Value)
                               (Type Void)))
     (if (`` (or (~~ (template []
-                      [(\ ..equivalence = (: (Type Return) ) type)]
+                      [(# ..equivalence = (: (Type Return) ) type)]
                       
                       [..void]))))
       (|> type (:as (Type Void)) {.#Right})
@@ -203,7 +203,7 @@
                           (n.- suffix_size))]
         (|> repr
             (text.clip prefix_size name_size)
-            (\ maybe.monad each (|>> //name.internal //name.external))))
+            (# maybe.monad each (|>> //name.internal //name.external))))
       {.#None})))
 
 (def: .public format
diff --git a/stdlib/source/library/lux/target/jvm/type/alias.lux b/stdlib/source/library/lux/target/jvm/type/alias.lux
index c624f5751..ff6d9174f 100644
--- a/stdlib/source/library/lux/target/jvm/type/alias.lux
+++ b/stdlib/source/library/lux/target/jvm/type/alias.lux
@@ -56,7 +56,7 @@
   [(def: 
      (-> (Parser (Type Class)) (Parser (Type Parameter)))
      (|>> (<>.after (.this ))
-          (\ <>.monad each )))]
+          (# <>.monad each )))]
 
   [lower //signature.lower_prefix //.lower ..Lower]
   [upper //signature.upper_prefix //.upper ..Upper]
@@ -112,7 +112,7 @@
 (def: (bound_type_var aliasing)
   (-> Aliasing (Parser (Type Var)))
   (|> //parser.var_name
-      (\ <>.monad each //.var)
+      (# <>.monad each //.var)
       (<>.before (<>.many (..bound aliasing)))))
 
 (def: .public (method aliasing)
diff --git a/stdlib/source/library/lux/target/jvm/type/descriptor.lux b/stdlib/source/library/lux/target/jvm/type/descriptor.lux
index 677c7b801..6dbdd800c 100644
--- a/stdlib/source/library/lux/target/jvm/type/descriptor.lux
+++ b/stdlib/source/library/lux/target/jvm/type/descriptor.lux
@@ -6,10 +6,10 @@
     [control
      ["[0]" maybe]]
     [data
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [math
      [number
       ["n" nat]]]
@@ -95,7 +95,7 @@
         (Descriptor Method))
     (:abstraction
      (format (|> inputs
-                 (list\each ..descriptor)
+                 (list#each ..descriptor)
                  text.together
                  (text.enclosed ["(" ")"]))
              (:representation output))))
@@ -104,7 +104,7 @@
     (All (_ category) (Equivalence (Descriptor category)))
     
     (def: (= parameter subject)
-      (text\= (:representation parameter) (:representation subject))))
+      (text#= (:representation parameter) (:representation subject))))
 
   (def: .public class_name
     (-> (Descriptor Object) Internal)
@@ -119,6 +119,6 @@
                            (|> (text.size repr)
                                (n.- prefix_size)
                                (n.- suffix_size)))
-                (\ maybe.monad each ///name.internal)
+                (# maybe.monad each ///name.internal)
                 maybe.trusted))))))
   )
diff --git a/stdlib/source/library/lux/target/jvm/type/lux.lux b/stdlib/source/library/lux/target/jvm/type/lux.lux
index 7aeeea7d9..ab0c0e76d 100644
--- a/stdlib/source/library/lux/target/jvm/type/lux.lux
+++ b/stdlib/source/library/lux/target/jvm/type/lux.lux
@@ -6,18 +6,18 @@
     [control
      ["[0]" try]
      ["[0]" exception {"+" [exception:]}]
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser ("[1]#[0]" monad)
       ["<[0]>" text {"+" [Parser]}]]]
     [data
      ["[0]" product]
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]
      [collection
       ["[0]" array]
       ["[0]" dictionary {"+" [Dictionary]}]]]
     [type
      abstract
-     ["[0]" check {"+" [Check]} ("[1]\[0]" monad)]]]]
+     ["[0]" check {"+" [Check]} ("[1]#[0]" monad)]]]]
   ["[0]" //
    [category {"+" [Void Value Return Method Primitive Object Class Array Var Parameter]}]
    ["[1][0]" descriptor]
@@ -49,13 +49,13 @@
 (def: void
   (Parser (Check Type))
   (<>.after //parser.void
-            (<>\in (check\in .Any))))
+            (<>#in (check#in .Any))))
 
 (template [  ]
   [(def: 
      (Parser (Check Type))
      (<>.after 
-               (<>\in (check\in {.#Primitive (//reflection.reflection ) {.#End}}))))]
+               (<>#in (check#in {.#Primitive (//reflection.reflection ) {.#End}}))))]
 
   [boolean //parser.boolean //reflection.boolean]
   [byte //parser.byte //reflection.byte]
@@ -71,7 +71,7 @@
   [(def: 
      (Parser (Check Type))
      (<>.after 
-               (<>\in (check\in {.#Primitive  {.#End}}))))]
+               (<>#in (check#in {.#Primitive  {.#End}}))))]
 
   [boxed_boolean //parser.boolean //box.boolean]
   [boxed_byte //parser.byte //box.byte]
@@ -112,7 +112,7 @@
 (def: wildcard
   (Parser (Check Type))
   (<>.after //parser.wildcard
-            (<>\in (check\each product.right
+            (<>#in (check#each product.right
                                check.existential))))
 
 (def: (var mapping)
@@ -124,7 +124,7 @@
           (check.except ..unknown_var [var])
           
           {.#Some type}
-          (check\in type)))))
+          (check#in type)))))
 
 (def: (class' parameter)
   (-> (Parser (Check Type)) (Parser (Check Type)))
@@ -145,7 +145,7 @@
      (-> (Parser (Check Type)) (Parser (Check Type)))
      (|> (<>.after (.this ))
          ... TODO: Re-enable Lower and Upper, instead of using the simplified limit.
-         ... (<>\each (check\each (|>>  .type)))
+         ... (<>#each (check#each (|>>  .type)))
          ))]
 
   [lower //signature.lower_prefix ..Lower]
@@ -171,11 +171,11 @@
 
 (def: array
   (-> (Parser (Check Type)) (Parser (Check Type)))
-  (|>> (<>\each (check\each (function (_ elementT)
+  (|>> (<>#each (check#each (function (_ elementT)
                               (case elementT
                                 {.#Primitive name {.#End}}
                                 (if (`` (or (~~ (template []
-                                                  [(text\= (//reflection.reflection ) name)]
+                                                  [(text#= (//reflection.reflection ) name)]
 
                                                   [//reflection.boolean]
                                                   [//reflection.byte]
diff --git a/stdlib/source/library/lux/target/jvm/type/parser.lux b/stdlib/source/library/lux/target/jvm/type/parser.lux
index f9d79bb16..c2d058c65 100644
--- a/stdlib/source/library/lux/target/jvm/type/parser.lux
+++ b/stdlib/source/library/lux/target/jvm/type/parser.lux
@@ -6,7 +6,7 @@
     [control
      ["[0]" try]
      ["[0]" function]
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser ("[1]#[0]" monad)
       ["<[0]>" text {"+" [Parser]}]]]
     [data
      ["[0]" product]
@@ -26,7 +26,7 @@
   [(def: .public 
      (Parser (Type ))
      (<>.after (.this (//signature.signature ))
-               (<>\in )))]
+               (<>#in )))]
 
   [Void void //signature.void //.void]
   [Primitive boolean //signature.boolean //.boolean]
@@ -68,7 +68,7 @@
 (template [    ]
   [(def: .public 
      (Parser )
-     (\ <>.functor each 
+     (# <>.functor each 
         (.slice (.and! (.one_of! )
                                    (.some! (.one_of! ))))))]
 
@@ -84,7 +84,7 @@
 
 (def: .public var
   (Parser (Type Var))
-  (<>\each //.var ..var'))
+  (<>#each //.var ..var'))
 
 (def: .public var?
   (-> (Type Value) (Maybe Text))
@@ -104,7 +104,7 @@
   [(def: 
      (-> (Parser (Type Class)) (Parser (Type Parameter)))
      (|>> (<>.after (.this ))
-          (<>\each )))]
+          (<>#each )))]
 
   [lower //signature.lower_prefix //.lower]
   [upper //signature.upper_prefix //.upper]
@@ -125,7 +125,7 @@
 (def: class'
   (-> (Parser (Type Parameter)) (Parser (Type Class)))
   (|>> ..class''
-       (\ <>.monad each (product.uncurried //.class))))
+       (# <>.monad each (product.uncurried //.class))))
 
 (def: .public parameter
   (Parser (Type Parameter))
@@ -143,7 +143,7 @@
 (def: .public array'
   (-> (Parser (Type Value)) (Parser (Type Array)))
   (|>> (<>.after (.this //descriptor.array_prefix))
-       (<>\each //.array)))
+       (<>#each //.array)))
 
 (def: .public class
   (Parser (Type Class))
diff --git a/stdlib/source/library/lux/target/jvm/type/reflection.lux b/stdlib/source/library/lux/target/jvm/type/reflection.lux
index a3a101f12..8c7be4888 100644
--- a/stdlib/source/library/lux/target/jvm/type/reflection.lux
+++ b/stdlib/source/library/lux/target/jvm/type/reflection.lux
@@ -4,7 +4,7 @@
     [abstract
      [equivalence {"+" [Equivalence]}]]
     [data
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]]
     [type
      abstract]]]
@@ -26,7 +26,7 @@
     (All (_ category) (Equivalence (Reflection category)))
     
     (def: (= parameter subject)
-      (text\= (:representation parameter) (:representation subject))))
+      (text#= (:representation parameter) (:representation subject))))
 
   (template [  ]
     [(def: .public 
@@ -63,7 +63,7 @@
                              element'
                              
                              (~~ (template [ ]
-                                   [(\ ..equivalence =  element)
+                                   [(# ..equivalence =  element)
                                     (//descriptor.descriptor )]
 
                                    [..boolean //descriptor.boolean]
diff --git a/stdlib/source/library/lux/target/jvm/type/signature.lux b/stdlib/source/library/lux/target/jvm/type/signature.lux
index e263d6c6a..7aca0ef5b 100644
--- a/stdlib/source/library/lux/target/jvm/type/signature.lux
+++ b/stdlib/source/library/lux/target/jvm/type/signature.lux
@@ -5,10 +5,10 @@
      [equivalence {"+" [Equivalence]}]
      [hash {"+" [Hash]}]]
     [data
-     ["[0]" text ("[1]\[0]" hash)
+     ["[0]" text ("[1]#[0]" hash)
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [type
      abstract]]]
   ["[0]" // "_"
@@ -96,7 +96,7 @@
                _
                (format ..parameters_start
                        (|> parameters
-                           (list\each ..signature)
+                           (list#each ..signature)
                            text.together)
                        ..parameters_end))
              //descriptor.class_suffix)))
@@ -131,31 +131,31 @@
                ""
                _
                (|> type_variables
-                   (list\each (|>> ..var_name
+                   (list#each (|>> ..var_name
                                    (text.suffix ..class_bound)))
                    text.together
                    (text.enclosed [..parameters_start
                                    ..parameters_end])))
              (|> inputs
-                 (list\each ..signature)
+                 (list#each ..signature)
                  text.together
                  (text.enclosed [..arguments_start
                                  ..arguments_end]))
              (:representation output)
              (|> exceptions
-                 (list\each (|>> :representation (format ..exception_prefix)))
+                 (list#each (|>> :representation (format ..exception_prefix)))
                  text.together))))
 
   (implementation: .public equivalence
     (All (_ category) (Equivalence (Signature category)))
     
     (def: (= parameter subject)
-      (text\= (:representation parameter)
+      (text#= (:representation parameter)
               (:representation subject))))
 
   (implementation: .public hash
     (All (_ category) (Hash (Signature category)))
 
     (def: &equivalence ..equivalence)
-    (def: hash (|>> :representation text\hash)))
+    (def: hash (|>> :representation text#hash)))
   )
diff --git a/stdlib/source/library/lux/target/lua.lux b/stdlib/source/library/lux/target/lua.lux
index 6e1f1ee98..52ef6597f 100644
--- a/stdlib/source/library/lux/target/lua.lux
+++ b/stdlib/source/library/lux/target/lua.lux
@@ -14,7 +14,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" template]
@@ -42,13 +42,13 @@
     (All (_ brand) (Equivalence (Code brand)))
 
     (def: (= reference subject)
-      (\ text.equivalence = (:representation reference) (:representation subject))))
+      (# text.equivalence = (:representation reference) (:representation subject))))
 
   (implementation: .public hash
     (All (_ brand) (Hash (Code brand)))
 
     (def: &equivalence ..equivalence)
-    (def: hash (|>> :representation (\ text.hash hash))))
+    (def: hash (|>> :representation (# text.hash hash))))
 
   (def: .public manual
     (-> Text Code)
@@ -94,7 +94,7 @@
     (-> Int Literal)
     ... Integers must be turned into hexadecimal to avoid quirks in how Lua parses integers.
     ... In particular, the number -9223372036854775808 will be incorrectly parsed as a float by Lua.
-    (.let [to_hex (\ n.hex encoded)]
+    (.let [to_hex (# n.hex encoded)]
       (|>> .nat
            to_hex
            (format "0x")
@@ -138,20 +138,20 @@
 
   (def: .public multi
     (-> (List Expression) Literal)
-    (|>> (list\each ..code)
+    (|>> (list#each ..code)
          (text.interposed ..input_separator)
          :abstraction))
 
   (def: .public array
     (-> (List Expression) Literal)
-    (|>> (list\each ..code)
+    (|>> (list#each ..code)
          (text.interposed ..input_separator)
          (text.enclosed ["{" "}"])
          :abstraction))
 
   (def: .public table
     (-> (List [Text Expression]) Literal)
-    (|>> (list\each (.function (_ [key value])
+    (|>> (list#each (.function (_ [key value])
                       (format key " = " (:representation value))))
          (text.interposed ..input_separator)
          (text.enclosed ["{" "}"])
@@ -174,7 +174,7 @@
   (def: .public (apply/* args func)
     (-> (List Expression) Expression Computation)
     (|> args
-        (list\each ..code)
+        (list#each ..code)
         (text.interposed ..input_separator)
         (text.enclosed ["(" ")"])
         (format (:representation func))
@@ -183,7 +183,7 @@
   (def: .public (do method args table)
     (-> Text (List Expression) Expression Computation)
     (|> args
-        (list\each ..code)
+        (list#each ..code)
         (text.interposed ..input_separator)
         (text.enclosed ["(" ")"])
         (format (:representation table) ":" method)
@@ -253,7 +253,7 @@
 
   (def: locations
     (-> (List Location) Text)
-    (|>> (list\each ..code)
+    (|>> (list#each ..code)
          (text.interposed ..input_separator)))
 
   (def: .public (local vars)
@@ -303,7 +303,7 @@
     (-> (List Var) Expression Statement Statement)
     (:abstraction
      (format "for " (|> vars
-                        (list\each ..code)
+                        (list#each ..code)
                         (text.interposed ..input_separator))
              " in " (:representation source) " do"
              (..nested (:representation body!))
@@ -364,7 +364,7 @@
 
 (def: .public (cond clauses else!)
   (-> (List [Expression Statement]) Statement Statement)
-  (list\mix (.function (_ [test then!] next!)
+  (list#mix (.function (_ [test then!] next!)
               (..if test then! next!))
             else!
             (list.reversed clauses)))
@@ -374,7 +374,7 @@
         0 (.list)
         _ (|> (-- arity)
               (enum.range n.enum 0)
-              (list\each (|>> %.nat code.local_identifier))))))
+              (list#each (|>> %.nat code.local_identifier))))))
 
 (syntax: (arity_types [arity .nat])
   (in (list.repeated arity (` ..Expression))))
diff --git a/stdlib/source/library/lux/target/php.lux b/stdlib/source/library/lux/target/php.lux
index 97fa1edf4..6f543e48f 100644
--- a/stdlib/source/library/lux/target/php.lux
+++ b/stdlib/source/library/lux/target/php.lux
@@ -14,7 +14,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" template]
@@ -50,13 +50,13 @@
     (All (_ brand) (Equivalence (Code brand)))
 
     (def: (= reference subject)
-      (\ text.equivalence = (:representation reference) (:representation subject))))
+      (# text.equivalence = (:representation reference) (:representation subject))))
 
   (implementation: .public hash
     (All (_ brand) (Hash (Code brand)))
 
     (def: &equivalence ..equivalence)
-    (def: hash (|>> :representation (\ text.hash hash))))
+    (def: hash (|>> :representation (# text.hash hash))))
 
   (def: .public manual
     (-> Text Code)
@@ -135,7 +135,7 @@
 
   (def: .public int
     (-> Int Literal)
-    (.let [to_hex (\ n.hex encoded)]
+    (.let [to_hex (# n.hex encoded)]
       (|>> .nat
            to_hex
            (format "0x")
@@ -182,7 +182,7 @@
 
   (def: arguments
     (-> (List Expression) Text)
-    (|>> (list\each ..code) (text.interposed ..input_separator) ..group))
+    (|>> (list#each ..code) (text.interposed ..input_separator) ..group))
 
   (def: .public (apply/* args func)
     (-> (List Expression) Expression Computation)
@@ -196,7 +196,7 @@
 
   (def: parameters
     (-> (List Argument) Text)
-    (|>> (list\each (function (_ [reference? var])
+    (|>> (list#each (function (_ [reference? var])
                       (.if reference?
                         (format "&" (:representation var))
                         (:representation var))))
@@ -231,7 +231,7 @@
           0 (.list)
           _ (|> (-- arity)
                 (enum.range n.enum 0)
-                (list\each (|>> %.nat code.local_identifier))))))
+                (list#each (|>> %.nat code.local_identifier))))))
 
   (syntax: (arity_types [arity .nat])
     (in (list.repeated arity (` ..Expression))))
@@ -308,7 +308,7 @@
   (def: .public (array/* values)
     (-> (List Expression) Literal)
     (|> values
-        (list\each ..code)
+        (list#each ..code)
         (text.interposed ..input_separator)
         ..group
         (format "array")
@@ -321,7 +321,7 @@
   (def: .public (array/** kvs)
     (-> (List [Expression Expression]) Literal)
     (|> kvs
-        (list\each (function (_ [key value])
+        (list#each (function (_ [key value])
                      (format (:representation key) " => " (:representation value))))
         (text.interposed ..input_separator)
         ..group
@@ -492,7 +492,7 @@
      (format "try " (..block (:representation body!))
              text.new_line
              (|> excepts
-                 (list\each catch)
+                 (list#each catch)
                  (text.interposed text.new_line)))))
 
   (template [ ]
@@ -537,7 +537,7 @@
 
 (def: .public (cond clauses else!)
   (-> (List [Expression Statement]) Statement Statement)
-  (list\mix (function (_ [test then!] next!)
+  (list#mix (function (_ [test then!] next!)
               (..if test then! next!))
             else!
             (list.reversed clauses)))
diff --git a/stdlib/source/library/lux/target/python.lux b/stdlib/source/library/lux/target/python.lux
index 8b2c5e6bb..901823f9b 100644
--- a/stdlib/source/library/lux/target/python.lux
+++ b/stdlib/source/library/lux/target/python.lux
@@ -15,7 +15,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" template]
@@ -54,13 +54,13 @@
     (All (_ brand) (Equivalence (Code brand)))
 
     (def: (= reference subject)
-      (\ text.equivalence = (:representation reference) (:representation subject))))
+      (# text.equivalence = (:representation reference) (:representation subject))))
 
   (implementation: .public hash
     (All (_ brand) (Hash (Code brand)))
 
     (def: &equivalence ..equivalence)
-    (def: hash (|>> :representation (\ text.hash hash))))
+    (def: hash (|>> :representation (# text.hash hash))))
 
   (def: .public manual
     (-> Text Code)
@@ -189,7 +189,7 @@
           ... ..expression
           (format left_delimiter
                   (|> entries
-                      (list\each entry_serializer)
+                      (list#each entry_serializer)
                       (text.interposed ", "))
                   right_delimiter))))
 
@@ -222,7 +222,7 @@
     (-> (Expression Any) (List (Expression Any)) (Computation Any))
     (<| :abstraction
         ... ..expression
-        (format (:representation func) "(" (text.interposed ", " (list\each ..code args)) ")")))
+        (format (:representation func) "(" (text.interposed ", " (list#each ..code args)) ")")))
 
   (template [  ]
     [(def: ( var)
@@ -240,7 +240,7 @@
            ... ..expression
            (format (:representation func)
                    (format "(" (|> args
-                                   (list\each (function (_ arg) (format (:representation arg) ", ")))
+                                   (list#each (function (_ arg) (format (:representation arg) ", ")))
                                    text.together)
                            ( extra) ")"))))]
 
@@ -321,13 +321,13 @@
     (-> (List (Var Any)) (Expression Any) (Computation Any))
     (<| :abstraction
         ..expression
-        (format "lambda " (|> arguments (list\each ..code) (text.interposed ", ")) ": "
+        (format "lambda " (|> arguments (list#each ..code) (text.interposed ", ")) ": "
                 (:representation body))))
 
   (def: .public (set vars value)
     (-> (List (Location Any)) (Expression Any) (Statement Any))
     (:abstraction
-     (format (|> vars (list\each ..code) (text.interposed ", "))
+     (format (|> vars (list#each ..code) (text.interposed ", "))
              " = "
              (:representation value))))
 
@@ -404,8 +404,8 @@
      (format "try:"
              (..nested (:representation body!))
              (|> excepts
-                 (list\each (function (_ [classes exception catch!])
-                              (format text.new_line "except (" (text.interposed ", " (list\each ..code classes))
+                 (list#each (function (_ [classes exception catch!])
+                              (format text.new_line "except (" (text.interposed ", " (list#each ..code classes))
                                       ") as " (:representation exception) ":"
                                       (..nested (:representation catch!)))))
                  text.together))))
@@ -436,7 +436,7 @@
     (-> SVar (List (Ex (_ k) (Var k))) (Statement Any) (Statement Any))
     (:abstraction
      (format "def " (:representation name)
-             "(" (|> args (list\each ..code) (text.interposed ", ")) "):"
+             "(" (|> args (list#each ..code) (text.interposed ", ")) "):"
              (..nested (:representation body)))))
 
   (def: .public (import module_name)
@@ -451,7 +451,7 @@
 
 (def: .public (cond clauses else!)
   (-> (List [(Expression Any) (Statement Any)]) (Statement Any) (Statement Any))
-  (list\mix (.function (_ [test then!] next!)
+  (list#mix (.function (_ [test then!] next!)
               (..if test then! next!))
             else!
             (list.reversed clauses)))
@@ -461,7 +461,7 @@
         0 (.list)
         _ (|> (-- arity)
               (enum.range n.enum 0)
-              (list\each (|>> %.nat code.local_identifier))))))
+              (list#each (|>> %.nat code.local_identifier))))))
 
 (syntax: (arity_types [arity .nat])
   (in (list.repeated arity (` (Expression Any)))))
diff --git a/stdlib/source/library/lux/target/r.lux b/stdlib/source/library/lux/target/r.lux
index 4de9c2966..94a1ff243 100644
--- a/stdlib/source/library/lux/target/r.lux
+++ b/stdlib/source/library/lux/target/r.lux
@@ -4,14 +4,14 @@
     [control
      [pipe {"+" [case> cond> new>]}]
      ["[0]" function]
-     ["[0]" maybe ("[1]\[0]" functor)]
+     ["[0]" maybe ("[1]#[0]" functor)]
      [parser
       ["<[0]>" code]]]
     [data
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" template]
@@ -172,7 +172,7 @@
       (:abstraction
        (format func "("
                (|> args
-                   (list\each ..code)
+                   (list#each ..code)
                    (text.interposed (format "," text.new_line))
                    ..nested)
                ")"))))
@@ -188,7 +188,7 @@
 
   (def: .public named_list
     (-> (List [Text Expression]) Expression)
-    (|>> (list\each (.function (_ [key value])
+    (|>> (list#each (.function (_ [key value])
                       (:abstraction (format key "=" (:representation value)))))
          ..list))
 
@@ -197,8 +197,8 @@
     (..self_contained
      (format (:representation func)
              (format "("
-                     (text.interposed "," (list\each ..code args)) ","
-                     (text.interposed "," (list\each (.function (_ [key val])
+                     (text.interposed "," (list#each ..code args)) ","
+                     (text.interposed "," (list#each (.function (_ [key val])
                                                        (format key "=" (:representation val)))
                                                      kw_args))
                      ")"))))
@@ -208,7 +208,7 @@
           0 (.list)
           _ (|> arity
                 list.indices
-                (list\each (|>> %.nat code.local_identifier))))))
+                (list#each (|>> %.nat code.local_identifier))))))
 
   (syntax: (arity_types [arity .nat])
     (in (list.repeated arity (` ..Expression))))
@@ -262,7 +262,7 @@
 
   (def: .public (cond clauses else)
     (-> (List [Expression Expression]) Expression Expression)
-    (list\mix (.function (_ [test then] next)
+    (list#mix (.function (_ [test then] next)
                 (if test then next))
               else
               (list.reversed clauses)))
@@ -326,7 +326,7 @@
 
   (def: .public (function inputs body)
     (-> (List (Ex (_ k) (Var k))) Expression Expression)
-    (let [args (|> inputs (list\each ..code) (text.interposed ", "))]
+    (let [args (|> inputs (list#each ..code) (text.interposed ", "))]
       (..self_contained
        (format "function(" args ") "
                (.._block (:representation body))))))
@@ -336,7 +336,7 @@
     (let [optional (: (-> Text (Maybe Expression) (-> Text Text) Text)
                       (.function (_ parameter value preparation)
                         (|> value
-                            (maybe\each (|>> :representation preparation (format ", " parameter " = ")))
+                            (maybe#each (|>> :representation preparation (format ", " parameter " = ")))
                             (maybe.else ""))))]
       (..self_contained
        (format "tryCatch("
diff --git a/stdlib/source/library/lux/target/ruby.lux b/stdlib/source/library/lux/target/ruby.lux
index 8653d5203..8ba083e99 100644
--- a/stdlib/source/library/lux/target/ruby.lux
+++ b/stdlib/source/library/lux/target/ruby.lux
@@ -14,7 +14,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [macro
      [syntax {"+" [syntax:]}]
      ["[0]" template]
@@ -42,13 +42,13 @@
     (All (_ brand) (Equivalence (Code brand)))
 
     (def: (= reference subject)
-      (\ text.equivalence = (:representation reference) (:representation subject))))
+      (# text.equivalence = (:representation reference) (:representation subject))))
 
   (implementation: .public code_hash
     (All (_ brand) (Hash (Code brand)))
 
     (def: &equivalence ..code_equivalence)
-    (def: hash (|>> :representation (\ text.hash hash))))
+    (def: hash (|>> :representation (# text.hash hash))))
 
   (def: .public manual
     (-> Text Code)
@@ -198,14 +198,14 @@
 
   (def: .public array
     (-> (List Expression) Literal)
-    (|>> (list\each (|>> :representation))
+    (|>> (list#each (|>> :representation))
          (text.interposed ..input_separator)
          (text.enclosed ["[" "]"])
          :abstraction))
 
   (def: .public hash
     (-> (List [Expression Expression]) Literal)
-    (|>> (list\each (.function (_ [k v])
+    (|>> (list#each (.function (_ [k v])
                       (format (:representation k) " => " (:representation v))))
          (text.interposed ..input_separator)
          (text.enclosed ["{" "}"])
@@ -214,7 +214,7 @@
   (def: .public (apply/* args func)
     (-> (List Expression) Expression Computation)
     (|> args
-        (list\each (|>> :representation))
+        (list#each (|>> :representation))
         (text.interposed ..input_separator)
         (text.enclosed ["(" ")"])
         (format (:representation func))
@@ -223,7 +223,7 @@
   (def: .public (apply_lambda/* args lambda)
     (-> (List Expression) Expression Computation)
     (|> args
-        (list\each (|>> :representation))
+        (list#each (|>> :representation))
         (text.interposed ..input_separator)
         (text.enclosed ["[" "]"])
         (format (:representation lambda))
@@ -265,7 +265,7 @@
     (-> (List Location) Expression Statement)
     (:abstraction
      (format (|> vars
-                 (list\each (|>> :representation))
+                 (list#each (|>> :representation))
                  (text.interposed ..input_separator))
              " = " (:representation value) ..statement_suffix)))
 
@@ -316,7 +316,7 @@
         ..block
         (format "begin" (..nested (:representation body!))
                 (|> rescues
-                    (list\each (.function (_ [classes exception rescue])
+                    (list#each (.function (_ [classes exception rescue])
                                  (format text.new_line "rescue " (text.interposed ..input_separator classes)
                                          " => " (:representation exception)
                                          (..nested (:representation rescue)))))
@@ -355,7 +355,7 @@
         ..block
         (format "def " (:representation name)
                 (|> args
-                    (list\each (|>> :representation))
+                    (list#each (|>> :representation))
                     (text.interposed ..input_separator)
                     (text.enclosed ["(" ")"]))
                 (..nested (:representation body!)))))
@@ -363,7 +363,7 @@
   (def: .public (lambda name args body!)
     (-> (Maybe LVar) (List Var) Statement Literal)
     (let [proc (|> (format (|> args
-                               (list\each (|>> :representation))
+                               (list#each (|>> :representation))
                                (text.interposed ..input_separator)
                                (text.enclosed' "|"))
                            (..nested (:representation body!)))
@@ -427,7 +427,7 @@
 
 (def: .public (cond clauses else!)
   (-> (List [Expression Statement]) Statement Statement)
-  (list\mix (.function (_ [test then!] next!)
+  (list#mix (.function (_ [test then!] next!)
               (..if test then! next!))
             else!
             (list.reversed clauses)))
@@ -437,7 +437,7 @@
         0 (.list)
         _ (|> (-- arity)
               (enum.range n.enum 0)
-              (list\each (|>> %.nat code.local_identifier))))))
+              (list#each (|>> %.nat code.local_identifier))))))
 
 (syntax: (arity_types [arity .nat])
   (in (list.repeated arity (` ..Expression))))
diff --git a/stdlib/source/library/lux/target/scheme.lux b/stdlib/source/library/lux/target/scheme.lux
index 0e6dda75a..d17589342 100644
--- a/stdlib/source/library/lux/target/scheme.lux
+++ b/stdlib/source/library/lux/target/scheme.lux
@@ -11,7 +11,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor monoid)]]]
+      ["[0]" list ("[1]#[0]" functor monoid)]]]
     [macro
      ["[0]" template]]
     [math
@@ -33,13 +33,13 @@
     (All (_ brand) (Equivalence (Code brand)))
 
     (def: (= reference subject)
-      (\ text.equivalence = (:representation reference) (:representation subject))))
+      (# text.equivalence = (:representation reference) (:representation subject))))
 
   (implementation: .public hash
     (All (_ brand) (Hash (Code brand)))
 
     (def: &equivalence ..equivalence)
-    (def: hash (|>> :representation (\ text.hash hash))))
+    (def: hash (|>> :representation (# text.hash hash))))
 
   (template [  +]
     [(abstract: .public ( brand) Any)
@@ -84,14 +84,14 @@
         _
         (|> (format " . " (:representation rest))
             (format (|> mandatory
-                        (list\each ..code)
+                        (list#each ..code)
                         (text.interposed " ")))
             (text.enclosed ["(" ")"])
             :abstraction))
       
       {.#None}
       (|> mandatory
-          (list\each ..code)
+          (list#each ..code)
           (text.interposed " ")
           (text.enclosed ["(" ")"])
           :abstraction)))
@@ -161,7 +161,7 @@
                   
                   {.#Item head tail}
                   (|> tail
-                      (list\each (|>> :representation ..nested))
+                      (list#each (|>> :representation ..nested))
                       {.#Item (:representation head)}
                       (text.interposed nested_new_line)
                       (text.enclosed ["(" ")"])
@@ -308,7 +308,7 @@
        (-> (List [ Expression]) Expression Computation)
        (..form (list (..var )
                      (|> bindings
-                         (list\each (function (_ [binding/name binding/value])
+                         (list#each (function (_ [binding/name binding/value])
                                       (..form (list (|> binding/name 
)
                                                     binding/value))))
                          ..form)
@@ -373,7 +373,7 @@
                                 
                                 {.#Some else}
                                 (list (..form (list (..var "else") else))))
-                              (list\composite (list\each (function (_ [when then])
+                              (list#composite (list#each (function (_ [when then])
                                                            (..form (list when then)))
                                                          clauses))
                               (list& variable)))
diff --git a/stdlib/source/library/lux/test.lux b/stdlib/source/library/lux/test.lux
index ea228316a..c9f123598 100644
--- a/stdlib/source/library/lux/test.lux
+++ b/stdlib/source/library/lux/test.lux
@@ -13,7 +13,7 @@
      ["[0]" io]
      [concurrency
       ["[0]" atom {"+" [Atom]}]
-      ["[0]" async {"+" [Async]} ("[1]\[0]" monad)]]
+      ["[0]" async {"+" [Async]} ("[1]#[0]" monad)]]
      ["<>" parser
       ["<[0]>" code]]]
     [data
@@ -22,7 +22,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]
+      ["[0]" list ("[1]#[0]" functor mix)]
       ["[0]" set {"+" [Set]}]
       ["[0]" dictionary "_"
        ["[1]" ordered {"+" [Dictionary]}]]]]
@@ -30,7 +30,7 @@
      ["[0]" instant]
      ["[0]" duration {"+" [Duration]}]]
     [math
-     ["[0]" random {"+" [Random]} ("[1]\[0]" monad)]
+     ["[0]" random {"+" [Random]} ("[1]#[0]" monad)]
      [number {"+" [hex]}
       ["n" nat]
       ["f" frac]]]
@@ -99,17 +99,17 @@
   (-> Test Test Test)
   (do [! random.monad]
     [left left]
-    (\ ! each (..and' left) right)))
+    (# ! each (..and' left) right)))
 
 (def: context_prefix
   text.tab)
 
 (def: .public (context description)
   (-> Text Test Test)
-  (random\each (async\each (function (_ [tally documentation])
+  (random#each (async#each (function (_ [tally documentation])
                              [tally (|> documentation
                                         (text.all_split_by ..separator)
-                                        (list\each (|>> (format context_prefix)))
+                                        (list#each (|>> (format context_prefix)))
                                         (text.interposed ..separator)
                                         (format description ..separator))]))))
 
@@ -120,23 +120,23 @@
   (-> Text Test)
   (|>> (format ..failure_prefix)
        [..failure_tally]
-       async\in
-       random\in))
+       async#in
+       random#in))
 
 (def: .public (assertion message condition)
   (-> Text Bit Assertion)
-  (<| async\in
+  (<| async#in
       (if condition
         [..success_tally (format ..success_prefix message)]
         [..failure_tally (format ..failure_prefix message)])))
 
 (def: .public (test message condition)
   (-> Text Bit Test)
-  (random\in (..assertion message condition)))
+  (random#in (..assertion message condition)))
 
 (def: .public (lifted message random)
   (-> Text (Random Bit) Test)
-  (random\each (..assertion message) random))
+  (random#each (..assertion message) random))
 
 (def: pcg_32_magic_inc
   Nat
@@ -192,7 +192,7 @@
                                    (value@ #actual_coverage tally))
         report (: (-> (Set Name) Text)
                   (|>> set.list
-                       (list.sorted (\ name.order <))
+                       (list.sorted (# name.order <))
                        (exception.listing %.name)))
         expected_definitions_to_cover (set.size (value@ #expected_coverage tally))
         unexpected_definitions_covered (set.size unexpected)
@@ -247,7 +247,7 @@
            _ (debug.log! (format documentation text.new_line text.new_line
                                  (..description duration tally)
                                  text.new_line))]]
-    (async.future (\ program.default exit
+    (async.future (# program.default exit
                      (case (value@ #failures tally)
                        0 ..success_exit_code
                        _ ..failure_exit_code)))))
@@ -255,26 +255,26 @@
 (def: (|cover'| coverage condition)
   (-> (List Name) Bit Assertion)
   (let [message (|> coverage
-                    (list\each %.name)
+                    (list#each %.name)
                     (text.interposed " & "))
         coverage (set.of_list name.hash coverage)]
     (|> (..assertion message condition)
-        (async\each (function (_ [tally documentation])
+        (async#each (function (_ [tally documentation])
                       [(revised@ #actual_coverage (set.union coverage) tally)
                        documentation])))))
 
 (def: (|cover| coverage condition)
   (-> (List Name) Bit Test)
   (|> (..|cover'| coverage condition)
-      random\in))
+      random#in))
 
 (def: (|for| coverage test)
   (-> (List Name) Test Test)
   (let [context (|> coverage
-                    (list\each %.name)
+                    (list#each %.name)
                     (text.interposed " & "))
         coverage (set.of_list name.hash coverage)]
-    (random\each (async\each (function (_ [tally documentation])
+    (random#each (async#each (function (_ [tally documentation])
                                [(revised@ #actual_coverage (set.union coverage) tally)
                                 documentation]))
                  (..context context test))))
@@ -295,7 +295,7 @@
 
 (def: encoded_coverage
   (-> (List Text) Text)
-  (list\mix (function (_ short aggregate)
+  (list#mix (function (_ short aggregate)
               (case aggregate
                 "" short
                 _ (format aggregate ..coverage_separator short)))
@@ -315,7 +315,7 @@
 (template [ ]
   [(syntax: .public ( [coverage (.tuple (<>.many .any))
                               condition .any])
-     (let [coverage (list\each (function (_ definition)
+     (let [coverage (list#each (function (_ definition)
                                  (` ((~! ..reference) (~ definition))))
                                coverage)]
        (in (list (` ((~! )
@@ -329,7 +329,7 @@
 
 (syntax: .public (for [coverage (.tuple (<>.many .any))
                        test .any])
-  (let [coverage (list\each (function (_ definition)
+  (let [coverage (list#each (function (_ definition)
                               (` ((~! ..reference) (~ definition))))
                             coverage)]
     (in (list (` ((~! ..|for|)
@@ -341,7 +341,7 @@
   (-> Text Text Test Test)
   (let [coverage (..coverage module coverage)]
     (|> (..context module test)
-        (random\each (async\each (function (_ [tally documentation])
+        (random#each (async#each (function (_ [tally documentation])
                                    [(revised@ #expected_coverage (set.union coverage) tally)
                                     documentation]))))))
 
@@ -351,7 +351,7 @@
     [.let [module (name.module module)]
      definitions (meta.definitions module)
      .let [coverage (|> definitions
-                        (list\mix (function (_ [short [exported? _]] aggregate)
+                        (list#mix (function (_ [short [exported? _]] aggregate)
                                     (if exported?
                                       {.#Item short aggregate}
                                       aggregate))
@@ -370,7 +370,7 @@
   (-> (List Test) Test)
   (case (list.size tests)
     0
-    (random\in (async\in [..start ""]))
+    (random#in (async#in [..start ""]))
     
     expected_tests
     (do random.monad
@@ -388,7 +388,7 @@
                                  (..assertion (exception.error ..error_during_execution [error]) false))
                           io.io
                           async.future
-                          async\conjoint))
+                          async#conjoint))
              state (: (Atom (Dictionary Nat [Tally Text]))
                       (atom.atom (dictionary.empty n.order)))
              [read! write!] (: [Assertion
@@ -402,12 +402,12 @@
                                                        (if (n.= expected_tests (dictionary.size results))
                                                          (let [assertions (|> results
                                                                               dictionary.entries
-                                                                              (list\each product.right))]
+                                                                              (list#each product.right))]
                                                            (write! [(|> assertions
-                                                                        (list\each product.left)
-                                                                        (list\mix ..total ..start))
+                                                                        (list#each product.left)
+                                                                        (list#mix ..total ..start))
                                                                     (|> assertions
-                                                                        (list\each product.right)
+                                                                        (list#each product.right)
                                                                         (text.interposed ..separator))]))
                                                          (in []))))
                                                    (run! test)))
diff --git a/stdlib/source/library/lux/time.lux b/stdlib/source/library/lux/time.lux
index 6747215d7..f59090e4b 100644
--- a/stdlib/source/library/lux/time.lux
+++ b/stdlib/source/library/lux/time.lux
@@ -14,10 +14,10 @@
      ["<>" parser
       ["<[0]>" text {"+" [Parser]}]]]
     [data
-     ["[0]" text ("[1]\[0]" monoid)]]
+     ["[0]" text ("[1]#[0]" monoid)]]
     [math
      [number
-      ["n" nat ("[1]\[0]" decimal)]]]
+      ["n" nat ("[1]#[0]" decimal)]]]
     [type
      abstract]]]
   [/
@@ -40,8 +40,8 @@
 
 (exception: .public (time_exceeds_a_day [time Nat])
   (exception.report
-   ["Time (in milli-seconds)" (n\encoded time)]
-   ["Maximum (in milli-seconds)" (n\encoded (-- limit))]))
+   ["Time (in milli-seconds)" (n#encoded time)]
+   ["Maximum (in milli-seconds)" (n#encoded (-- limit))]))
 
 (def: separator ":")
 
@@ -54,14 +54,14 @@
   (<>.either (|> (.at_most 3 .decimal)
                  (<>.codec n.decimal)
                  (<>.after (.this ".")))
-             (\ <>.monad in 0)))
+             (# <>.monad in 0)))
 
 (template [   ]
   [(exception: .public ( [value Nat])
      (exception.report
-      ["Value" (n\encoded value)]
-      ["Minimum" (n\encoded 0)]
-      ["Maximum" (n\encoded (-- ))]))
+      ["Value" (n#encoded value)]
+      ["Minimum" (n#encoded 0)]
+      ["Maximum" (n#encoded (-- ))]))
 
    (def: 
      (Parser Nat)
@@ -148,8 +148,8 @@
 (def: (padded value)
   (-> Nat Text)
   (if (n.< 10 value)
-    (text\composite "0" (n\encoded value))
-    (n\encoded value)))
+    (text#composite "0" (n#encoded value))
+    (n#encoded value)))
 
 (def: (positive space duration)
   (-> Duration Duration Duration)
@@ -160,10 +160,10 @@
 (def: (millis_format millis)
   (-> Nat Text)
   (cond (n.= 0 millis)   ""
-        (n.< 10 millis)  ($_ text\composite ".00" (n\encoded millis))
-        (n.< 100 millis) ($_ text\composite ".0" (n\encoded millis))
+        (n.< 10 millis)  ($_ text#composite ".00" (n#encoded millis))
+        (n.< 100 millis) ($_ text#composite ".0" (n#encoded millis))
         ... (n.< 1,000 millis)
-        ($_ text\composite "." (n\encoded millis))))
+        ($_ text#composite "." (n#encoded millis))))
 
 (type: .public Clock
   (Record
@@ -200,7 +200,7 @@
 (def: (format time)
   (-> Time Text)
   (let [(^slots [#hour #minute #second #milli_second]) (..clock time)]
-    ($_ text\composite
+    ($_ text#composite
         (..padded #hour)
         ..separator (..padded #minute)
         ..separator (..padded #second)
diff --git a/stdlib/source/library/lux/time/date.lux b/stdlib/source/library/lux/time/date.lux
index fa5af30dc..2b36ad8bc 100644
--- a/stdlib/source/library/lux/time/date.lux
+++ b/stdlib/source/library/lux/time/date.lux
@@ -14,13 +14,13 @@
      ["<>" parser
       ["<[0]>" text {"+" [Parser]}]]]
     [data
-     ["[0]" text ("[1]\[0]" monoid)]
+     ["[0]" text ("[1]#[0]" monoid)]
      [collection
-      ["[0]" list ("[1]\[0]" mix)]
+      ["[0]" list ("[1]#[0]" mix)]
       ["[0]" dictionary {"+" [Dictionary]}]]]
     [math
      [number
-      ["n" nat ("[1]\[0]" decimal)]
+      ["n" nat ("[1]#[0]" decimal)]
       ["i" int]]]
     [type
      abstract]]]
@@ -30,7 +30,7 @@
 
 (def: month_by_number
   (Dictionary Nat Month)
-  (list\mix (function (_ month mapping)
+  (list#mix (function (_ month mapping)
               (dictionary.has (//month.number month) month mapping))
             (dictionary.empty n.hash)
             //month.year))
@@ -53,17 +53,17 @@
                                   month Month
                                   day Nat])
   (exception.report
-   ["Value" (n\encoded day)]
-   ["Minimum" (n\encoded ..minimum_day)]
-   ["Maximum" (n\encoded (..month_days year month))]
-   ["Year" (\ //year.codec encoded year)]
-   ["Month" (n\encoded (//month.number month))]))
+   ["Value" (n#encoded day)]
+   ["Minimum" (n#encoded ..minimum_day)]
+   ["Maximum" (n#encoded (..month_days year month))]
+   ["Year" (# //year.codec encoded year)]
+   ["Month" (n#encoded (//month.number month))]))
 
 (def: (padded value)
   (-> Nat Text)
-  (let [digits (n\encoded value)]
+  (let [digits (n#encoded value)]
     (if (n.< 10 value)
-      (text\composite "0" digits)
+      (text#composite "0" digits)
       digits)))
 
 (def: separator
@@ -108,10 +108,10 @@
     (def: (= reference sample)
       (let [reference (:representation reference)
             sample (:representation sample)]
-        (and (\ //year.equivalence =
+        (and (# //year.equivalence =
                 (value@ #year reference)
                 (value@ #year sample))
-             (\ //month.equivalence =
+             (# //month.equivalence =
                 (value@ #month reference)
                 (value@ #month sample))
              (n.= (value@ #day reference)
@@ -125,16 +125,16 @@
     (def: (< reference sample)
       (let [reference (:representation reference)
             sample (:representation sample)]
-        (or (\ //year.order <
+        (or (# //year.order <
                (value@ #year reference)
                (value@ #year sample))
-            (and (\ //year.equivalence =
+            (and (# //year.equivalence =
                     (value@ #year reference)
                     (value@ #year sample))
-                 (or (\ //month.order <
+                 (or (# //month.order <
                         (value@ #month reference)
                         (value@ #month sample))
-                     (and (\ //month.order =
+                     (and (# //month.order =
                              (value@ #month reference)
                              (value@ #month sample))
                           (n.< (value@ #day reference)
@@ -150,14 +150,14 @@
   (<>.either (|> (.at_most 3 .decimal)
                  (<>.codec n.decimal)
                  (<>.after (.this ".")))
-             (\ <>.monad in 0)))
+             (# <>.monad in 0)))
 
 (template [   ]
   [(exception: .public ( [value Nat])
      (exception.report
-      ["Value" (n\encoded value)]
-      ["Minimum" (n\encoded )]
-      ["Maximum" (n\encoded )]))
+      ["Value" (n#encoded value)]
+      ["Minimum" (n#encoded )]
+      ["Maximum" (n#encoded )]))
 
    (def: 
      (Parser Nat)
@@ -184,8 +184,8 @@
 
 (def: (format value)
   (-> Date Text)
-  ($_ text\composite
-      (\ //year.codec encoded (..year value))
+  ($_ text#composite
+      (# //year.codec encoded (..year value))
       ..separator (..padded (|> value ..month //month.number))
       ..separator (..padded (..day_of_month value))))
 
diff --git a/stdlib/source/library/lux/time/day.lux b/stdlib/source/library/lux/time/day.lux
index 6bdbba5b2..86252a1e0 100644
--- a/stdlib/source/library/lux/time/day.lux
+++ b/stdlib/source/library/lux/time/day.lux
@@ -151,11 +151,11 @@
 
   (exception: .public (invalid_day [number Nat])
     (exception.report
-     ["Number" (\ n.decimal encoded number)]
+     ["Number" (# n.decimal encoded number)]
      ["Valid range" ($_ "lux text concat"
-                        (\ n.decimal encoded (..number {#Sunday}))
+                        (# n.decimal encoded (..number {#Sunday}))
                         " ~ "
-                        (\ n.decimal encoded (..number {#Saturday})))]))
+                        (# n.decimal encoded (..number {#Saturday})))]))
 
   (def: .public (by_number number)
     (-> Nat (Try Day))
diff --git a/stdlib/source/library/lux/time/duration.lux b/stdlib/source/library/lux/time/duration.lux
index 94b73e791..f140a1284 100644
--- a/stdlib/source/library/lux/time/duration.lux
+++ b/stdlib/source/library/lux/time/duration.lux
@@ -13,11 +13,11 @@
      ["<>" parser
       ["<[0]>" text {"+" [Parser]}]]]
     [data
-     ["[0]" text ("[1]\[0]" monoid)]]
+     ["[0]" text ("[1]#[0]" monoid)]]
     [math
      [number
       ["i" int]
-      ["[0]" nat ("[1]\[0]" decimal)]]]
+      ["[0]" nat ("[1]#[0]" decimal)]]]
     [type
      abstract]]]
   ["[0]" // "_"
@@ -126,10 +126,10 @@
   )
 
 (def: (encoded duration)
-  (if (\ ..equivalence = ..empty duration)
-    ($_ text\composite
+  (if (# ..equivalence = ..empty duration)
+    ($_ text#composite
         ..positive_sign
-        (nat\encoded 0)
+        (nat#encoded 0)
         ..milli_second_suffix)
     (let [signed? (negative? duration)
           [days time_left] [(ticks day duration) (framed day duration)]
@@ -143,13 +143,13 @@
           [minutes time_left] [(ticks minute time_left) (framed minute time_left)]
           [seconds time_left] [(ticks second time_left) (framed second time_left)]
           millis (..millis time_left)]
-      ($_ text\composite
+      ($_ text#composite
           (if signed? ..negative_sign ..positive_sign)
-          (if (i.= +0 days) "" (text\composite (nat\encoded (.nat days)) ..day_suffix))
-          (if (i.= +0 hours) "" (text\composite (nat\encoded (.nat hours)) ..hour_suffix))
-          (if (i.= +0 minutes) "" (text\composite (nat\encoded (.nat minutes)) ..minute_suffix))
-          (if (i.= +0 seconds) "" (text\composite (nat\encoded (.nat seconds)) ..second_suffix))
-          (if (i.= +0 millis) "" (text\composite (nat\encoded (.nat millis)) ..milli_second_suffix))
+          (if (i.= +0 days) "" (text#composite (nat#encoded (.nat days)) ..day_suffix))
+          (if (i.= +0 hours) "" (text#composite (nat#encoded (.nat hours)) ..hour_suffix))
+          (if (i.= +0 minutes) "" (text#composite (nat#encoded (.nat minutes)) ..minute_suffix))
+          (if (i.= +0 seconds) "" (text#composite (nat#encoded (.nat seconds)) ..second_suffix))
+          (if (i.= +0 millis) "" (text#composite (nat#encoded (.nat millis)) ..milli_second_suffix))
           ))))
 
 (def: parser
diff --git a/stdlib/source/library/lux/time/instant.lux b/stdlib/source/library/lux/time/instant.lux
index 5fb300424..f5e0f7540 100644
--- a/stdlib/source/library/lux/time/instant.lux
+++ b/stdlib/source/library/lux/time/instant.lux
@@ -16,7 +16,7 @@
      ["<>" parser
       ["<[0]>" text {"+" [Parser]}]]]
     [data
-     ["[0]" text ("[1]\[0]" monoid)]
+     ["[0]" text ("[1]#[0]" monoid)]
      [collection
       ["[0]" row]]]
     [math
@@ -63,14 +63,14 @@
     (Equivalence Instant)
     
     (def: (= param subject)
-      (\ i.equivalence = (:representation param) (:representation subject))))
+      (# i.equivalence = (:representation param) (:representation subject))))
 
   (implementation: .public order
     (Order Instant)
     
     (def: &equivalence ..equivalence)
     (def: (< param subject)
-      (\ i.order < (:representation param) (:representation subject))))
+      (# i.order < (:representation param) (:representation subject))))
 
   (`` (implementation: .public enum
         (Enum Instant)
@@ -78,7 +78,7 @@
         (def: &order ..order)
         (~~ (template []
               [(def: 
-                 (|>> :representation (\ i.enum ) :abstraction))]
+                 (|>> :representation (# i.enum ) :abstraction))]
 
               [succ] [pred]
               ))))
@@ -113,7 +113,7 @@
 
 (def: (clock_time duration)
   (-> Duration Time)
-  (|> (if (\ duration.order < duration.empty duration)
+  (|> (if (# duration.order < duration.empty duration)
         (duration.merged duration.day duration)
         duration)
       duration.millis
@@ -125,16 +125,16 @@
   (-> Instant Text)
   (let [[date time] (..date_time instant)
         time (..clock_time time)]
-    ($_ text\composite
-        (\ date.codec encoded date) ..date_suffix
-        (\ //.codec encoded time) ..time_suffix)))
+    ($_ text#composite
+        (# date.codec encoded date) ..date_suffix
+        (# //.codec encoded time) ..time_suffix)))
 
 (def: parser
   (Parser Instant)
   (do [! <>.monad]
-    [days (\ ! each date.days date.parser)
+    [days (# ! each date.days date.parser)
      _ (.this ..date_suffix)
-     time (\ ! each //.millis //.parser)
+     time (# ! each //.millis //.parser)
      _ (.this ..time_suffix)]
     (in (|> (if (i.< +0 days)
               (|> duration.day
diff --git a/stdlib/source/library/lux/time/month.lux b/stdlib/source/library/lux/time/month.lux
index 0717ed1b9..6bc2a0274 100644
--- a/stdlib/source/library/lux/time/month.lux
+++ b/stdlib/source/library/lux/time/month.lux
@@ -79,11 +79,11 @@
 
   (exception: .public (invalid_month [number Nat])
     (exception.report
-     ["Number" (\ n.decimal encoded number)]
+     ["Number" (# n.decimal encoded number)]
      ["Valid range" ($_ "lux text concat"
-                        (\ n.decimal encoded (..number {#January}))
+                        (# n.decimal encoded (..number {#January}))
                         " ~ "
-                        (\ n.decimal encoded (..number {#December})))]))
+                        (# n.decimal encoded (..number {#December})))]))
 
   (def: .public (by_number number)
     (-> Nat (Try Month))
diff --git a/stdlib/source/library/lux/time/year.lux b/stdlib/source/library/lux/time/year.lux
index adc9c8f92..49d6bed0d 100644
--- a/stdlib/source/library/lux/time/year.lux
+++ b/stdlib/source/library/lux/time/year.lux
@@ -12,11 +12,11 @@
      ["<>" parser
       ["<[0]>" text {"+" [Parser]}]]]
     [data
-     ["[0]" text ("[1]\[0]" monoid)]]
+     ["[0]" text ("[1]#[0]" monoid)]]
     [math
      [number
-      ["n" nat ("[1]\[0]" decimal)]
-      ["i" int ("[1]\[0]" decimal)]]]
+      ["n" nat ("[1]#[0]" decimal)]
+      ["i" int ("[1]#[0]" decimal)]]]
     [type
      abstract]]])
 
@@ -108,15 +108,15 @@
   (-> Year Text)
   (let [year (..value year)]
     (if (i.< +0 year)
-      (i\encoded year)
-      (n\encoded (.nat year)))))
+      (i#encoded year)
+      (n#encoded (.nat year)))))
 
 (def: .public parser
   (Parser Year)
   (do [! <>.monad]
     [sign (<>.or (.this "-") (in []))
      digits (.many .decimal)
-     raw_year (<>.codec i.decimal (in (text\composite "+" digits)))]
+     raw_year (<>.codec i.decimal (in (text#composite "+" digits)))]
     (<>.lifted (..year (case sign
                          {.#Left _}  (i.* -1 raw_year)
                          {.#Right _} raw_year)))))
diff --git a/stdlib/source/library/lux/tool/compiler/default/init.lux b/stdlib/source/library/lux/tool/compiler/default/init.lux
index d583a072a..395d7dc73 100644
--- a/stdlib/source/library/lux/tool/compiler/default/init.lux
+++ b/stdlib/source/library/lux/tool/compiler/default/init.lux
@@ -10,13 +10,13 @@
     [data
      [binary {"+" [Binary]}]
      ["[0]" product]
-     ["[0]" text ("[1]\[0]" hash)
+     ["[0]" text ("[1]#[0]" hash)
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]
+      ["[0]" list ("[1]#[0]" functor)]
       ["[0]" dictionary]
       ["[0]" set]
-      ["[0]" row ("[1]\[0]" functor)]]]
+      ["[0]" row ("[1]#[0]" functor)]]]
     ["[0]" meta]
     [world
      ["[0]" file]]]]
@@ -220,7 +220,7 @@
 (def: (default_dependencies prelude input)
   (-> Module ///.Input (List Module))
   (list& archive.runtime_module
-         (if (text\= prelude (value@ ///.#module input))
+         (if (text#= prelude (value@ ///.#module input))
            (list)
            (list prelude))))
 
@@ -238,7 +238,7 @@
         [///.#dependencies dependencies
          ///.#process (function (_ state archive)
                         (do [! try.monad]
-                          [.let [hash (text\hash (value@ ///.#code input))]
+                          [.let [hash (text#hash (value@ ///.#code input))]
                            [state [source buffer]] (<| (///phase.result' state)
                                                        (..begin dependencies hash input))
                            .let [module (value@ ///.#module input)]]
@@ -259,7 +259,7 @@
                                   (in [state
                                        {.#Right [descriptor
                                                  (document.write key analysis_module)
-                                                 (row\each (function (_ [artifact_id custom directive])
+                                                 (row#each (function (_ [artifact_id custom directive])
                                                              [artifact_id custom (write_directive directive)])
                                                            final_buffer)]}]))
 
@@ -268,7 +268,7 @@
                                   (in [state
                                        {.#Left [///.#dependencies (|> requirements
                                                                       (value@ ///directive.#imports)
-                                                                      (list\each product.left))
+                                                                      (list#each product.left))
                                                 ///.#process (function (_ state archive)
                                                                (recur (<| (///phase.result' state)
                                                                           (do [! ///phase.monad]
diff --git a/stdlib/source/library/lux/tool/compiler/default/platform.lux b/stdlib/source/library/lux/tool/compiler/default/platform.lux
index eda9c6147..52396656b 100644
--- a/stdlib/source/library/lux/tool/compiler/default/platform.lux
+++ b/stdlib/source/library/lux/tool/compiler/default/platform.lux
@@ -9,22 +9,22 @@
     [control
      ["[0]" function]
      ["[0]" maybe]
-     ["[0]" try {"+" [Try]} ("[1]\[0]" monad)]
+     ["[0]" try {"+" [Try]} ("[1]#[0]" monad)]
      ["[0]" exception {"+" [exception:]}]
      [concurrency
-      ["[0]" async {"+" [Async Resolver]} ("[1]\[0]" monad)]
+      ["[0]" async {"+" [Async Resolver]} ("[1]#[0]" monad)]
       ["[0]" stm {"+" [Var STM]}]]]
     [data
      ["[0]" binary {"+" [Binary]}]
      ["[0]" bit]
      ["[0]" product]
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]
      [collection
       ["[0]" dictionary {"+" [Dictionary]}]
-      ["[0]" row {"+" [Row]} ("[1]\[0]" mix)]
+      ["[0]" row {"+" [Row]} ("[1]#[0]" mix)]
       ["[0]" set {"+" [Set]}]
-      ["[0]" list ("[1]\[0]" monoid functor mix)]]
+      ["[0]" list ("[1]#[0]" monoid functor mix)]]
      [format
       ["_" binary {"+" [Writer]}]]]
     [world
@@ -110,7 +110,7 @@
                       row.list
                       (monad.each ..monad write_artifact!)
                       (: (Action (List Any)))))
-           document (\ async.monad in
+           document (# async.monad in
                        (document.check $.key document))]
           (ioW.cache system static module_id
                      (_.result ..writer [descriptor document])))))
@@ -191,7 +191,7 @@
                        _ (extension.with extender (:expected directives))]
                       (in [])))
           (///phase.result' state)
-          (\ try.monad each product.left)))
+          (# try.monad each product.left)))
 
     (def: (phase_wrapper archive platform state)
       (All (_ )
@@ -248,14 +248,14 @@
                     (->  (Program expression directive) 
                         (Async (Try [///phase.Wrapper ]))))
                   (function (_ platform program state)
-                    (async\in
+                    (async#in
                      (do try.monad
                        [[state phase_wrapper] (..phase_wrapper archive platform state)]
                        (|> state
                            (initialize_state (extender phase_wrapper)
                                              (:expected (..complete_extensions host_directive_bundle phase_wrapper (:expected bundles)))
                                              analysis_state)
-                           (try\each (|>> (//init.with_default_directives expander host_analysis program anchorT,expressionT,directiveT (extender phase_wrapper))
+                           (try#each (|>> (//init.with_default_directives expander host_analysis program anchorT,expressionT,directiveT (extender phase_wrapper))
                                           [phase_wrapper])))))))]]
         (if (archive.archived? archive archive.runtime_module)
           (do !
@@ -264,7 +264,7 @@
           (do !
             [[state [archive payload]] (|> (..process_runtime archive platform)
                                            (///phase.result' state)
-                                           async\in)
+                                           async#in)
              _ (..cache_module static platform 0 payload)
              
              [phase_wrapper state] (with_missing_extensions platform program state)]
@@ -281,7 +281,7 @@
                     ///directive.#state
                     extension.#state
                     ///generation.#log])
-           (row\mix (function (_ right left)
+           (row#mix (function (_ right left)
                       (format left ..compilation_log_separator right))
                     module)))
 
@@ -331,7 +331,7 @@
                                            (|> mapping
                                                (dictionary.revised' source ..empty (set.has target))
                                                (dictionary.revised source (set.union forward)))]
-                                       (list\mix (function (_ previous)
+                                       (list#mix (function (_ previous)
                                                    (dictionary.revised' previous ..empty (set.has target)))
                                                  with_dependence+transitives
                                                  (set.list backward))))))]
@@ -375,7 +375,7 @@
 
     (def: (verify_dependencies importer importee dependence)
       (-> Module Module Dependence (Try Any))
-      (cond (text\= importer importee)
+      (cond (text#= importer importee)
             (exception.except ..module_cannot_import_itself [importer])
 
             (..circular_dependency? importer importee dependence)
@@ -417,7 +417,7 @@
                                            (:expected
                                             (stm.commit!
                                              (do [! stm.monad]
-                                               [dependence (if (text\= archive.runtime_module importer)
+                                               [dependence (if (text#= archive.runtime_module importer)
                                                              (stm.read dependence)
                                                              (do !
                                                                [[_ dependence] (stm.update (..depend importer module) dependence)]
@@ -431,7 +431,7 @@
                                                  (do !
                                                    [[archive state] (stm.read current)]
                                                    (if (archive.archived? archive module)
-                                                     (in [(async\in {try.#Success [archive state]})
+                                                     (in [(async#in {try.#Success [archive state]})
                                                           {.#None}])
                                                      (do !
                                                        [@pending (stm.read pending)]
@@ -462,7 +462,7 @@
                                                                            signal]}]))
                                                            
                                                            {try.#Failure error}
-                                                           (in [(async\in {try.#Failure error})
+                                                           (in [(async#in {try.#Failure error})
                                                                 {.#None}])))))))))))
                  _ (case signal
                      {.#None}
@@ -498,7 +498,7 @@
                                      (in [module lux_module])))
                                (archive.archived archive))
            .let [additions (|> modules
-                               (list\each product.left)
+                               (list#each product.left)
                                (set.of_list text.hash))]]
           (in (revised@ [extension.#state
                          ///directive.#analysis
@@ -508,7 +508,7 @@
                           (|> analysis_state
                               (:as .Lux)
                               (revised@ .#modules (function (_ current)
-                                                    (list\composite (list.only (|>> product.left
+                                                    (list#composite (list.only (|>> product.left
                                                                                     (set.member? additions)
                                                                                     not)
                                                                                current)
@@ -563,9 +563,9 @@
                                        ... This currently assumes that all imports will be specified once in a single .module: form.
                                        ... This might not be the case in the future.
                                        [all_dependencies duplicates _] (: [(Set Module) (Set Module) Bit]
-                                                                          (list\mix (function (_ new [all duplicates seen_prelude?])
+                                                                          (list#mix (function (_ new [all duplicates seen_prelude?])
                                                                                       (if (set.member? all new)
-                                                                                        (if (text\= .prelude_module new)
+                                                                                        (if (text#= .prelude_module new)
                                                                                           (if seen_prelude?
                                                                                             [all (set.has new duplicates) seen_prelude?]
                                                                                             [all duplicates true])
@@ -582,14 +582,14 @@
                                                      {.#Item _}
                                                      (do !
                                                        [archive,document+ (|> new_dependencies
-                                                                              (list\each (import! module))
+                                                                              (list#each (import! module))
                                                                               (monad.all ..monad))
                                                         .let [archive (|> archive,document+
-                                                                          (list\each product.left)
-                                                                          (list\mix archive.merged archive))]]
+                                                                          (list#each product.left)
+                                                                          (list#mix archive.merged archive))]]
                                                        (in [archive (try.trusted
                                                                      (..updated_state archive state))])))
-                                                   (async\in (exception.except ..cannot_import_twice [module duplicates])))]
+                                                   (async#in (exception.except ..cannot_import_twice [module duplicates])))]
                                 (case ((value@ ///.#process compilation)
                                        ... TODO: The "///directive.set_current_module" below shouldn't be necessary. Remove it ASAP.
                                        ... TODO: The context shouldn't need to be re-set either.
@@ -614,11 +614,11 @@
                                              (..with_reset_log state)])
                                         
                                         {try.#Failure error}
-                                        (async\in {try.#Failure error}))))
+                                        (async#in {try.#Failure error}))))
 
                                   {try.#Failure error}
                                   (do !
                                     [_ (ioW.freeze (value@ #&file_system platform) static archive)]
-                                    (async\in {try.#Failure error}))))))))]
+                                    (async#in {try.#Failure error}))))))))]
           (compiler archive.runtime_module compilation_module)))
       )))
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux.lux b/stdlib/source/library/lux/tool/compiler/language/lux.lux
index 39714d1c0..e8029aedc 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux.lux
@@ -86,7 +86,7 @@
         ... #imports
         (.list .text)
         ... #module_state
-        (\ <>.monad in {.#Cached}))))
+        (# <>.monad in {.#Cached}))))
 
 (def: .public key
   (Key .Module)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
index 1fd1fe2b4..eca75863c 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
@@ -12,11 +12,11 @@
      ["[0]" exception {"+" [Exception]}]]
     [data
      ["[0]" product]
-     ["[0]" bit ("[1]\[0]" equivalence)]
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" bit ("[1]#[0]" equivalence)]
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [Format format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]]]
+      ["[0]" list ("[1]#[0]" functor mix)]]]
     [math
      [number
       ["n" nat]
@@ -126,17 +126,17 @@
       (^template [ <=>]
         [[{ reference} { sample}]
          (<=> reference sample)])
-      ([#Bit bit\=]
+      ([#Bit bit#=]
        [#Nat n.=]
        [#Int i.=]
        [#Rev r.=]
        [#Frac f.=]
-       [#Text text\=])
+       [#Text text#=])
       
       _
       false)))
 
-(implementation: .public (composite_equivalence (^open "/\[0]"))
+(implementation: .public (composite_equivalence (^open "/#[0]"))
   (All (_ a) (-> (Equivalence a) (Equivalence (Composite a))))
   
   (def: (= reference sample)
@@ -144,11 +144,11 @@
       [{#Variant [reference_lefts reference_right? reference_value]}
        {#Variant [sample_lefts sample_right? sample_value]}]
       (and (n.= reference_lefts sample_lefts)
-           (bit\= reference_right? sample_right?)
-           (/\= reference_value sample_value))
+           (bit#= reference_right? sample_right?)
+           (/#= reference_value sample_value))
       
       [{#Tuple reference} {#Tuple sample}]
-      (\ (list.equivalence /\=) = reference sample)
+      (# (list.equivalence /#=) = reference sample)
 
       _
       false)))
@@ -157,19 +157,19 @@
   (All (_ a) (-> (Hash a) (Hash (Composite a))))
 
   (def: &equivalence
-    (..composite_equivalence (\ super &equivalence)))
+    (..composite_equivalence (# super &equivalence)))
   
   (def: (hash value)
     (case value
       {#Variant [lefts right? value]}
       ($_ n.* 2
-          (\ n.hash hash lefts)
-          (\ bit.hash hash right?)
-          (\ super hash value))
+          (# n.hash hash lefts)
+          (# bit.hash hash right?)
+          (# super hash value))
       
       {#Tuple members}
       ($_ n.* 3
-          (\ (list.hash super) hash members))
+          (# (list.hash super) hash members))
       )))
 
 (implementation: pattern_equivalence
@@ -178,10 +178,10 @@
   (def: (= reference sample)
     (case [reference sample]
       [{#Simple reference} {#Simple sample}]
-      (\ primitive_equivalence = reference sample)
+      (# primitive_equivalence = reference sample)
       
       [{#Complex reference} {#Complex sample}]
-      (\ (composite_equivalence =) = reference sample)
+      (# (composite_equivalence =) = reference sample)
 
       [{#Bind reference} {#Bind sample}]
       (n.= reference sample)
@@ -193,8 +193,8 @@
   (-> (Equivalence Analysis) (Equivalence Branch))
 
   (def: (= [reference_pattern reference_body] [sample_pattern sample_body])
-    (and (\ pattern_equivalence = reference_pattern sample_pattern)
-         (\ equivalence = reference_body sample_body))))
+    (and (# pattern_equivalence = reference_pattern sample_pattern)
+         (# equivalence = reference_body sample_body))))
 
 (implementation: .public equivalence
   (Equivalence Analysis)
@@ -202,23 +202,23 @@
   (def: (= reference sample)
     (case [reference sample]
       [{#Primitive reference} {#Primitive sample}]
-      (\ primitive_equivalence = reference sample)
+      (# primitive_equivalence = reference sample)
 
       [{#Structure reference} {#Structure sample}]
-      (\ (composite_equivalence =) = reference sample)
+      (# (composite_equivalence =) = reference sample)
 
       [{#Reference reference} {#Reference sample}]
-      (\ reference.equivalence = reference sample)
+      (# reference.equivalence = reference sample)
 
       [{#Case [reference_analysis reference_match]}
        {#Case [sample_analysis sample_match]}]
       (and (= reference_analysis sample_analysis)
-           (\ (list.equivalence (branch_equivalence =)) = {.#Item reference_match} {.#Item sample_match}))
+           (# (list.equivalence (branch_equivalence =)) = {.#Item reference_match} {.#Item sample_match}))
 
       [{#Function [reference_environment reference_analysis]}
        {#Function [sample_environment sample_analysis]}]
       (and (= reference_analysis sample_analysis)
-           (\ (list.equivalence =) = reference_environment sample_environment))
+           (# (list.equivalence =) = reference_environment sample_environment))
 
       [{#Apply [reference_input reference_abstraction]}
        {#Apply [sample_input sample_abstraction]}]
@@ -226,7 +226,7 @@
            (= reference_abstraction sample_abstraction))
 
       [{#Extension reference} {#Extension sample}]
-      (\ (extension.equivalence =) = reference sample)
+      (# (extension.equivalence =) = reference sample)
 
       _
       false)))
@@ -273,7 +273,7 @@
 
 (def: .public (apply [abstraction inputs])
   (-> (Application Analysis) Analysis)
-  (list\mix (function (_ input abstraction')
+  (list#mix (function (_ input abstraction')
               {#Apply input abstraction'})
             abstraction
             inputs))
@@ -365,7 +365,7 @@
       
       {#Tuple members}
       (|> members
-          (list\each %analysis)
+          (list#each %analysis)
           (text.interposed " ")
           (text.enclosed ["[" "]"])))
     
@@ -379,7 +379,7 @@
     (|> (%analysis body)
         (format " ")
         (format (|> environment
-                    (list\each %analysis)
+                    (list#each %analysis)
                     (text.interposed " ")
                     (text.enclosed ["[" "]"])))
         (text.enclosed ["(" ")"]))
@@ -388,13 +388,13 @@
     (|> analysis
         ..application
         {.#Item}
-        (list\each %analysis)
+        (list#each %analysis)
         (text.interposed " ")
         (text.enclosed ["(" ")"]))
     
     {#Extension name parameters}
     (|> parameters
-        (list\each %analysis)
+        (list#each %analysis)
         (text.interposed " ")
         (format (%.text name) " ")
         (text.enclosed ["(" ")"]))))
@@ -473,7 +473,7 @@
 
 (def: .public (with_location location action)
   (All (_ a) (-> Location (Operation a) (Operation a)))
-  (if (text\= "" (product.left location))
+  (if (text#= "" (product.left location))
     action
     (function (_ [bundle state])
       (let [old_location (value@ .#location state)]
@@ -502,7 +502,7 @@
 (def: .public (assertion exception parameters condition)
   (All (_ e) (-> (Exception e) e Bit (Operation Any)))
   (if condition
-    (\ phase.monad in [])
+    (# phase.monad in [])
     (..except exception parameters)))
 
 (def: .public (failure' error)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/directive.lux b/stdlib/source/library/lux/tool/compiler/language/lux/directive.lux
index d11fa82cc..e2ccfa37d 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/directive.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/directive.lux
@@ -7,7 +7,7 @@
      ["[0]" try]]
     [data
      [collection
-      ["[0]" list ("[1]\[0]" monoid)]]]]]
+      ["[0]" list ("[1]#[0]" monoid)]]]]]
   [//
    ["[0]" analysis]
    ["[0]" synthesis]
@@ -51,8 +51,8 @@
 
 (def: .public (merge_requirements left right)
   (-> Requirements Requirements Requirements)
-  [#imports (list\composite (value@ #imports left) (value@ #imports right))
-   #referrals (list\composite (value@ #referrals left) (value@ #referrals right))])
+  [#imports (list#composite (value@ #imports left) (value@ #imports right))
+   #referrals (list#composite (value@ #referrals left) (value@ #referrals right))])
 
 (template [ ]
   [(type: .public ( anchor expression directive)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/generation.lux b/stdlib/source/library/lux/tool/compiler/language/lux/generation.lux
index ab139fc04..ca66425c5 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/generation.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/generation.lux
@@ -11,11 +11,11 @@
      [binary {"+" [Binary]}]
      ["[0]" product]
      ["[0]" name]
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]
      [collection
       ["[0]" row {"+" [Row]}]
-      ["[0]" list ("[1]\[0]" functor)]]]
+      ["[0]" list ("[1]#[0]" functor)]]]
     [math
      [number
       ["n" nat]]]]]
@@ -180,7 +180,7 @@
 (def: .public (identifier prefix)
   (All (_ anchor expression directive)
     (-> Text (Operation anchor expression directive Text)))
-  (\ phase.monad each (|>> %.nat (format prefix)) ..next))
+  (# phase.monad each (|>> %.nat (format prefix)) ..next))
 
 (def: .public (enter_module module)
   (All (_ anchor expression directive)
@@ -196,7 +196,7 @@
   (All (_ anchor expression directive)
     (-> Context expression (Operation anchor expression directive Any)))
   (function (_ (^@ state+ [bundle state]))
-    (case (\ (value@ #host state) evaluate label code)
+    (case (# (value@ #host state) evaluate label code)
       {try.#Success output}
       {try.#Success [state+ output]}
 
@@ -207,7 +207,7 @@
   (All (_ anchor expression directive)
     (-> directive (Operation anchor expression directive Any)))
   (function (_ (^@ state+ [bundle state]))
-    (case (\ (value@ #host state) execute code)
+    (case (# (value@ #host state) execute code)
       {try.#Success output}
       {try.#Success [state+ output]}
 
@@ -218,7 +218,7 @@
   (All (_ anchor expression directive)
     (-> Context (Maybe Text) expression (Operation anchor expression directive [Text Any directive])))
   (function (_ (^@ stateE [bundle state]))
-    (case (\ (value@ #host state) define context custom code)
+    (case (# (value@ #host state) define context custom code)
       {try.#Success output}
       {try.#Success [stateE output]}
 
@@ -271,7 +271,7 @@
     (let [[_module _name] name]
       (do try.monad
         [module_id (archive.id _module archive)
-         registry (if (text\= (value@ #module state) _module)
+         registry (if (text#= (value@ #module state) _module)
                     {try.#Success (value@ #registry state)}
                     (do try.monad
                       [[descriptor document] (archive.find _module archive)]
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 5d6489898..99beefca5 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
@@ -13,7 +13,7 @@
      [text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" mix monoid monad)]]]
+      ["[0]" list ("[1]#[0]" mix monoid monad)]]]
     [math
      [number
       ["n" nat]]]
@@ -58,9 +58,9 @@
   (exception.report
    ["Input" (%.code input)]
    ["Branches" (%.code (code.tuple (|> branches
-                                       (list\each (function (_ [slot value])
+                                       (list#each (function (_ [slot value])
                                                     (list slot value)))
-                                       list\conjoint)))]
+                                       list#conjoint)))]
    ["Coverage" (/coverage.%coverage coverage)]))
 
 (exception: .public (cannot_have_empty_branches [message Text])
@@ -137,12 +137,12 @@
       {.#Product _}
       (|> caseT
           type.flat_tuple
-          (list\each (re_quantify envs))
+          (list#each (re_quantify envs))
           type.tuple
-          (\ ///.monad in))
+          (# ///.monad in))
 
       _
-      (\ ///.monad in (re_quantify envs caseT)))))
+      (# ///.monad in (re_quantify envs caseT)))))
 
 (def: (analyse_primitive type inputT location output next)
   (All (_ a) (-> Type Type Location Pattern (Operation a) (Operation [Pattern a])))
@@ -245,7 +245,7 @@
                                 _
                                 (undefined)))]
                 (do !
-                  [[memberP+ thenA] (list\mix (: (All (_ a)
+                  [[memberP+ thenA] (list#mix (: (All (_ a)
                                                    (-> [Type Code] (Operation [(List Pattern) a])
                                                        (Operation [(List Pattern) a])))
                                                  (function (_ [memberT memberC] then)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux
index 813324061..70be9ca49 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux
@@ -6,14 +6,14 @@
      ["[0]" monad {"+" [do]}]]
     [control
      ["[0]" maybe]
-     ["[0]" try {"+" [Try]} ("[1]\[0]" monad)]
+     ["[0]" try {"+" [Try]} ("[1]#[0]" monad)]
      ["[0]" exception {"+" [exception:]}]]
     [data
-     ["[0]" bit ("[1]\[0]" equivalence)]
+     ["[0]" bit ("[1]#[0]" equivalence)]
      ["[0]" text
       ["%" format {"+" [Format format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]
+      ["[0]" list ("[1]#[0]" functor mix)]
       ["[0]" dictionary {"+" [Dictionary]}]]]
     [math
      [number
@@ -22,7 +22,7 @@
    [//
     ["/" analysis {"+" [Pattern Variant Operation]}]
     [///
-     ["[1]" phase ("[1]\[0]" monad)]]]])
+     ["[1]" phase ("[1]#[0]" monad)]]]])
 
 (exception: .public invalid_tuple_pattern
   "Tuple size must be >= 2")
@@ -80,7 +80,7 @@
     {#Variant ?max_cases cases}
     (|> cases
         dictionary.entries
-        (list\each (function (_ [idx coverage])
+        (list#each (function (_ [idx coverage])
                      (format (%.nat idx) " " (%coverage coverage))))
         (text.interposed " ")
         (text.enclosed ["{" "}"])
@@ -101,13 +101,13 @@
   (case pattern
     (^or {/.#Simple {/.#Unit}}
          {/.#Bind _})
-    (////\in {#Exhaustive})
+    (////#in {#Exhaustive})
 
     ... Primitive patterns always have partial coverage because there
     ... are too many possibilities as far as values go.
     (^template []
       [{/.#Simple { _}}
-       (////\in {#Partial})])
+       (////#in {#Partial})])
     ([/.#Nat]
      [/.#Int]
      [/.#Rev]
@@ -118,7 +118,7 @@
     ... "#0", which means it is possible for bit
     ... pattern-matching to become exhaustive if complementary parts meet.
     {/.#Simple {/.#Bit value}}
-    (////\in {#Bit value})
+    (////#in {#Bit value})
 
     ... Tuple patterns can be exhaustive if there is exhaustiveness for all of
     ... their sub-patterns.
@@ -189,12 +189,12 @@
       #1
 
       [{#Bit sideR} {#Bit sideS}]
-      (bit\= sideR sideS)
+      (bit#= sideR sideS)
 
       [{#Variant allR casesR} {#Variant allS casesS}]
       (and (n.= (cases allR)
                 (cases allS))
-           (\ (dictionary.equivalence =) = casesR casesS))
+           (# (dictionary.equivalence =) = casesR casesS))
       
       [{#Seq leftR rightR} {#Seq leftS rightS}]
       (and (= leftR leftS)
@@ -227,12 +227,12 @@
   (-> Coverage Coverage (Try Coverage))
   (case [addition so_far]
     [{#Partial} {#Partial}]
-    (try\in {#Partial})
+    (try#in {#Partial})
 
     ... 2 bit coverages are exhaustive if they complement one another.
     (^multi [{#Bit sideA} {#Bit sideSF}]
             (xor sideA sideSF))
-    (try\in {#Exhaustive})
+    (try#in {#Exhaustive})
 
     [{#Variant allA casesA} {#Variant allSF casesSF}]
     (let [addition_cases (cases allSF)
@@ -242,7 +242,7 @@
                  (not (n.= addition_cases so_far_cases)))
             (exception.except ..variants_do_not_match [addition_cases so_far_cases])
 
-            (\ (dictionary.equivalence ..equivalence) = casesSF casesA)
+            (# (dictionary.equivalence ..equivalence) = casesSF casesA)
             (exception.except ..redundant_pattern [so_far addition])
 
             ... else
@@ -293,7 +293,7 @@
 
       ... The 2 sequences cannot possibly be merged.
       [#0 #0]
-      (try\in {#Alt so_far addition})
+      (try#in {#Alt so_far addition})
 
       ... There is nothing the addition adds to the coverage.
       [#1 #1]
@@ -305,7 +305,7 @@
 
     ... The addition completes the coverage.
     [{#Exhaustive} _]
-    (try\in {#Exhaustive})
+    (try#in {#Exhaustive})
     
     ... The left part will always match, so the addition is redundant.
     (^multi [{#Seq left right} single]
@@ -315,7 +315,7 @@
     ... The right part is not necessary, since it can always match the left.
     (^multi [single {#Seq left right}]
             (coverage/= left single))
-    (try\in single)
+    (try#in single)
 
     ... When merging a new coverage against one based on Alt, it may be
     ... that one of the many coverages in the Alt is complementary to
@@ -364,7 +364,7 @@
           {.#None}
           (case (list.reversed possibilitiesSF)
             {.#Item last prevs}
-            (in (list\mix (function (_ left right) {#Alt left right})
+            (in (list#mix (function (_ left right) {#Alt left right})
                           last
                           prevs))
 
@@ -376,4 +376,4 @@
       ... The addition cannot possibly improve the coverage.
       (exception.except ..redundant_pattern [so_far addition])
       ... There are now 2 alternative paths.
-      (try\in {#Alt so_far addition}))))
+      (try#in {#Alt so_far addition}))))
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux
index ab080a2b8..3993d77d4 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux
@@ -10,7 +10,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" monoid monad)]]]
+      ["[0]" list ("[1]#[0]" monoid monad)]]]
     ["[0]" type
      ["[0]" check]]
     ["[0]" meta]]]
@@ -43,7 +43,7 @@
              ["Function" (%.code functionC)]
              ["Arguments" (|> arguments
                               list.enumeration
-                              (list\each (.function (_ [idx argC])
+                              (list#each (.function (_ [idx argC])
                                            (format (%.nat idx) " " (%.code argC))))
                               (text.interposed text.new_line))]))
 
@@ -93,8 +93,8 @@
                 (in functionA))))
 
           {.#Function inputT outputT}
-          (<| (\ ! each (.function (_ [scope bodyA])
-                          {/.#Function (list\each (|>> /.variable)
+          (<| (# ! each (.function (_ [scope bodyA])
+                          {/.#Function (list#each (|>> /.variable)
                                                   (//scope.environment scope))
                                        bodyA}))
               /.with_scope
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/inference.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/inference.lux
index e377fedb0..0ec812b80 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/inference.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/inference.lux
@@ -10,7 +10,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor monoid)]]]
+      ["[0]" list ("[1]#[0]" functor monoid)]]]
     [math
      [number
       ["n" nat]]]
@@ -24,7 +24,7 @@
     [//
      ["/" analysis {"+" [Tag Analysis Operation Phase]}]
      [///
-      ["[1]" phase ("[1]\[0]" monad)]
+      ["[1]" phase ("[1]#[0]" monad)]
       [meta
        [archive {"+" [Archive]}]]]]]])
 
@@ -67,7 +67,7 @@
   (-> Nat Type Type Type)
   (case type
     {.#Primitive name params}
-    {.#Primitive name (list\each (replace parameter_idx replacement) params)}
+    {.#Primitive name (list#each (replace parameter_idx replacement) params)}
 
     (^template []
       [{ left right}
@@ -86,7 +86,7 @@
 
     (^template []
       [{ env quantified}
-       { (list\each (replace parameter_idx replacement) env)
+       { (list#each (replace parameter_idx replacement) env)
               (replace (n.+ 2 parameter_idx) replacement quantified)}])
     ([.#UnivQ]
      [.#ExQ])
@@ -190,7 +190,7 @@
   (function (recur base)
     (case base
       {.#Primitive name parameters}
-      {.#Primitive name (list\each recur parameters)}
+      {.#Primitive name (list#each recur parameters)}
 
       (^template []
         [{ left right}
@@ -204,7 +204,7 @@
 
       (^template []
         [{ environment quantified}
-         { (list\each recur environment) quantified}])
+         { (list#each recur environment) quantified}])
       ([.#UnivQ] [.#ExQ])
 
       _
@@ -235,8 +235,8 @@
 
     {.#Product _}
     (let [[lefts right] (list.split_at (-- record_size) (type.flat_tuple inferT))]
-      (///\in (|> inferT
-                  (type.function (list\composite lefts (list (type.tuple right))))
+      (///#in (|> inferT
+                  (type.function (list#composite lefts (list (type.tuple right))))
                   (substitute_bound target originalT))))
 
     _
@@ -274,7 +274,7 @@
                        (n.< boundary tag)))
               (case (list.item tag cases)
                 {.#Some caseT}
-                (///\in (if (n.= 0 depth)
+                (///#in (if (n.= 0 depth)
                           (type.function (list caseT) currentT)
                           (let [replace' (replace (|> depth -- (n.* 2)) inferT)]
                             (type.function (list (replace' caseT))
@@ -288,7 +288,7 @@
 
               (n.= boundary tag)
               (let [caseT (type.variant (list.after boundary cases))]
-                (///\in (if (n.= 0 depth)
+                (///#in (if (n.= 0 depth)
                           (type.function (list caseT) currentT)
                           (let [replace' (replace (|> depth -- (n.* 2)) inferT)]
                             (type.function (list (replace' caseT))
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/module.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/module.lux
index dde8eb173..0999bd516 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/module.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/module.lux
@@ -8,10 +8,10 @@
      ["[0]" try]
      ["[0]" exception {"+" [exception:]}]]
     [data
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" mix functor)]
+      ["[0]" list ("[1]#[0]" mix functor)]
       [dictionary
        ["[0]" plist]]]]
     ["[0]" meta]]]
@@ -84,7 +84,7 @@
      (function (_ state)
        {try.#Success [(revised@ .#modules
                                 (plist.revised self_name (revised@ .#imports (function (_ current)
-                                                                               (if (list.any? (text\= module)
+                                                                               (if (list.any? (text#= module)
                                                                                               current)
                                                                                  current
                                                                                  {.#Item module current}))))
@@ -214,7 +214,7 @@
                                _
                                (/.except ..cannot_declare_tags_for_unnamed_type [tags type]))
      _ (///.assertion cannot_declare_tags_for_foreign_type [tags type]
-                      (text\= self_name type_module))]
+                      (text#= self_name type_module))]
     (monad.each ! (function (_ [index short])
                     (..define short
                               (if record?
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/reference.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/reference.lux
index 05495f98d..f8f3aca6b 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/reference.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/reference.lux
@@ -7,7 +7,7 @@
      ["[0]" exception {"+" [exception:]}]]
     ["[0]" meta]
     [data
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]]]]
   ["[0]" // "_"
    ["[1][0]" scope]
@@ -48,7 +48,7 @@
           [_ (//type.infer actualT)
            (^@ def_name [::module ::name]) (///extension.lifted (meta.normal def_name))
            current (///extension.lifted meta.current_module_name)]
-          (if (text\= current ::module)
+          (if (text#= current ::module)
             
             (if exported?
               (do !
@@ -63,7 +63,7 @@
           [_ (//type.infer .Type)
            (^@ def_name [::module ::name]) (///extension.lifted (meta.normal def_name))
            current (///extension.lifted meta.current_module_name)]
-          (if (text\= current ::module)
+          (if (text#= current ::module)
             
             (if exported?
               (do !
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/scope.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/scope.lux
index d14adf09f..ae2ff1ce7 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/scope.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/scope.lux
@@ -4,14 +4,14 @@
     [abstract
      monad]
     [control
-     ["[0]" maybe ("[1]\[0]" monad)]
+     ["[0]" maybe ("[1]#[0]" monad)]
      ["[0]" try]
      ["[0]" exception {"+" [exception:]}]]
     [data
-     ["[0]" text ("[1]\[0]" equivalence)]
+     ["[0]" text ("[1]#[0]" equivalence)]
      ["[0]" product]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix monoid)]
+      ["[0]" list ("[1]#[0]" functor mix monoid)]
       [dictionary
        ["[0]" plist]]]]]]
   ["[0]" /// "_"
@@ -40,7 +40,7 @@
   (|> scope
       (value@ [.#locals .#mappings])
       (plist.value name)
-      (maybe\each (function (_ [type value])
+      (maybe#each (function (_ [type value])
                     [type {variable.#Local value}]))))
 
 (def: (captured? name scope)
@@ -55,7 +55,7 @@
          mappings (value@ [.#captured .#mappings] scope)]
     (case mappings
       {.#Item [_name [_source_type _source_ref]] mappings'}
-      (if (text\= name _name)
+      (if (text#= name _name)
         {.#Some [_source_type {variable.#Foreign idx}]}
         (recur (++ idx) mappings'))
 
@@ -90,7 +90,7 @@
          {.#Item top_outer _}
          (let [[ref_type init_ref] (maybe.else (undefined)
                                                (..reference name top_outer))
-               [ref inner'] (list\mix (: (-> Scope [Variable (List Scope)] [Variable (List Scope)])
+               [ref inner'] (list#mix (: (-> Scope [Variable (List Scope)] [Variable (List Scope)])
                                          (function (_ scope ref+inner)
                                            [{variable.#Foreign (value@ [.#captured .#counter] scope)}
                                             {.#Item (revised@ .#captured
@@ -101,7 +101,7 @@
                                                     (product.right ref+inner)}]))
                                       [init_ref {.#End}]
                                       (list.reversed inner))
-               scopes (list\composite inner' outer)]
+               scopes (list#composite inner' outer)]
            {.#Right [(with@ .#scopes scopes state)
                      {.#Some [ref_type ref]}]})
          )))))
@@ -205,4 +205,4 @@
   (-> Scope (List Variable))
   (|> scope
       (value@ [.#captured .#mappings])
-      (list\each (function (_ [_ [_ ref]]) (ref_variable ref)))))
+      (list#each (function (_ [_ [_ ref]]) (ref_variable ref)))))
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/structure.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/structure.lux
index 188d8f7b8..27dd0dd72 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/structure.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/structure.lux
@@ -15,7 +15,7 @@
      [text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" monad)]
+      ["[0]" list ("[1]#[0]" monad)]
       ["[0]" dictionary {"+" [Dictionary]}]]]
     [macro
      ["[0]" code]]
@@ -78,9 +78,9 @@
      (exception.report
       ["Tag" (%.code (code.tag key))]
       ["Record" (%.code (code.tuple (|> record
-                                        (list\each (function (_ [keyI valC])
+                                        (list#each (function (_ [keyI valC])
                                                      (list (code.tag keyI) valC)))
-                                        list\conjoint)))]))]
+                                        list#conjoint)))]))]
 
   [cannot_repeat_tag]
   )
@@ -100,9 +100,9 @@
    ["Actual" (%.nat actual)]
    ["Type" (%.type type)]
    ["Expression" (%.code (|> record
-                             (list\each (function (_ [keyI valueC])
+                             (list#each (function (_ [keyI valueC])
                                           (list (code.tag keyI) valueC)))
-                             list\conjoint
+                             list#conjoint
                              code.tuple))]))
 
 (def: .public (sum analyse lefts right? archive)
@@ -197,11 +197,11 @@
                       
                       [{.#Item memberT {.#End}} _]
                       (//type.with_type memberT
-                        (\ ! each (|>> list) (analyse archive (code.tuple membersC+))))
+                        (# ! each (|>> list) (analyse archive (code.tuple membersC+))))
                       
                       [_ {.#Item memberC {.#End}}]
                       (//type.with_type (type.tuple membersT+)
-                        (\ ! each (|>> list) (analyse archive memberC)))
+                        (# ! each (|>> list) (analyse archive memberC)))
                       
                       [{.#Item memberT membersT+'} {.#Item memberC membersC+'}]
                       (do !
@@ -243,8 +243,8 @@
                                      membersC)
                _ (//type.with_env
                    (check.check expectedT
-                                (type.tuple (list\each product.left membersTA))))]
-              (in (/.tuple (list\each product.right membersTA))))))
+                                (type.tuple (list#each product.left membersTA))))]
+              (in (/.tuple (list#each product.right membersTA))))))
 
         (^template [ ]
           [{ _}
@@ -316,10 +316,10 @@
         (recur tail {.#Item [slotH valueH] output}))
 
       {.#End}
-      (\ ///.monad in {.#Some output})
+      (# ///.monad in {.#Some output})
 
       _
-      (\ ///.monad in {.#None}))))
+      (# ///.monad in {.#None}))))
 
 ... Lux already possesses the means to analyse tuples, so
 ... re-implementing the same functionality for records makes no sense.
@@ -329,7 +329,7 @@
   (case record
     ... empty_record = empty_tuple = unit/any = []
     {.#End}
-    (\ ///.monad in {.#Some [0 (list) Any]})
+    (# ///.monad in {.#Some [0 (list) Any]})
 
     {.#Item [head_k head_v] _}
     (do [! ///.monad]
@@ -362,7 +362,7 @@
                                (: (Dictionary Nat Code)
                                   (dictionary.empty n.hash))
                                record)
-           .let [ordered_tuple (list\each (function (_ idx)
+           .let [ordered_tuple (list#each (function (_ idx)
                                             (maybe.trusted (dictionary.value idx idx->val)))
                                           tuple_range)]]
           (in {.#Some [size_ts ordered_tuple recordT]}))
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 0d95f2262..5622ab2dc 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
@@ -11,7 +11,7 @@
      [text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" mix monoid)]]]]]
+      ["[0]" list ("[1]#[0]" mix monoid)]]]]]
   ["[0]" // "_"
    ["[1][0]" extension]
    ["[1][0]" analysis
@@ -96,12 +96,12 @@
               (case expansion
                 (^ (list&  referrals))
                 (|> (recur archive )
-                    (\ ! each (revised@ /.#referrals (list\composite referrals))))
+                    (# ! each (revised@ /.#referrals (list#composite referrals))))
 
                 _
                 (|> expansion
                     (monad.each ! (recur archive))
-                    (\ ! each (list\mix /.merge_requirements /.no_requirements)))))
+                    (# ! each (list#mix /.merge_requirements /.no_requirements)))))
 
             _
             (//.except ..not_a_directive code)))))))
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension.lux
index 7f3481817..19b2d94f9 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension.lux
@@ -11,7 +11,7 @@
      ["[0]" exception {"+" [exception:]}]]
     [data
      ["[0]" product]
-     ["[0]" text ("[1]\[0]" order)
+     ["[0]" text ("[1]#[0]" order)
       ["%" format {"+" [Format format]}]]
      [collection
       ["[0]" list]
@@ -86,7 +86,7 @@
    ["Extension" (%.text name)]
    ["Available" (|> bundle
                     dictionary.keys
-                    (list.sorted text\<)
+                    (list.sorted text#<)
                     (exception.listing %.text))]))
 
 (type: .public (Extender s i o)
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 88b935e35..b19fc6e6e 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
@@ -8,17 +8,17 @@
     [control
      pipe
      ["[0]" maybe]
-     ["[0]" try {"+" [Try]} ("[1]\[0]" monad)]
+     ["[0]" try {"+" [Try]} ("[1]#[0]" monad)]
      ["[0]" exception {"+" [exception:]}]
      ["<>" parser
       ["<[0]>" code {"+" [Parser]}]
       ["<[0]>" text]]]
     [data
      ["[0]" product]
-     ["[0]" text ("[1]\[0]" equivalence)
+     ["[0]" text ("[1]#[0]" equivalence)
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" mix monad monoid)]
+      ["[0]" list ("[1]#[0]" mix monad monoid)]
       ["[0]" array]
       ["[0]" dictionary {"+" [Dictionary]}]]]
     [math
@@ -29,7 +29,7 @@
       ["[0]!" reflection]
       [encoding
        [name {"+" [External]}]]
-      ["[1]" type {"+" [Type Argument Typed]} ("[1]\[0]" equivalence)
+      ["[1]" type {"+" [Type Argument Typed]} ("[1]#[0]" equivalence)
        ["[0]" category {"+" [Void Value' Value Return' Return Primitive Object Class Array Var Parameter Method]}]
        ["[0]" box]
        ["[0]" reflection]
@@ -39,7 +39,7 @@
        ["[1]_[0]" alias {"+" [Aliasing]}]
        ["[0]T" lux {"+" [Mapping]}]]]]
     ["[0]" type
-     ["[0]" check {"+" [Check]} ("[1]\[0]" monad)]]]]
+     ["[0]" check {"+" [Check]} ("[1]#[0]" monad)]]]]
   ["[0]" // "_"
    ["[1][0]" lux {"+" [custom]}]
    ["/[1]" //
@@ -53,7 +53,7 @@
       ["[1][0]" analysis {"+" [Analysis Operation Phase Handler Bundle]}]
       ["[1][0]" synthesis]
       [///
-       ["[0]" phase ("[1]\[0]" monad)]
+       ["[0]" phase ("[1]#[0]" monad)]
        [meta
         [archive {"+" [Archive]}
          [descriptor {"+" [Module]}]]]]]]]])
@@ -236,7 +236,7 @@
       ["Class" class]
       ["Method" method]
       ["Arguments" (exception.listing ..signature inputsJT)]
-      ["Hints" (exception.listing %.type (list\each product.left hints))]))]
+      ["Hints" (exception.listing %.type (list#each product.left hints))]))]
 
   [no_candidates]
   [too_many_candidates]
@@ -367,14 +367,14 @@
       (/////analysis.except ..non_jvm_type luxT))
 
     (^ {.#Primitive (static array.type_name) (list elemT)})
-    (phase\each jvm.array (jvm_type elemT))
+    (phase#each jvm.array (jvm_type elemT))
 
     {.#Primitive class parametersT}
     (case (dictionary.value class ..boxes)
       {.#Some [_ primitive_type]}
       (case parametersT
         {.#End}
-        (phase\in primitive_type)
+        (phase#in primitive_type)
 
         _
         (/////analysis.except ..primitives_cannot_have_type_parameters class))
@@ -396,7 +396,7 @@
         (in (jvm.class class parametersJT))))
 
     {.#Ex _}
-    (phase\in (jvm.class ..object_class (list)))
+    (phase#in (jvm.class ..object_class (list)))
     
     _
     (/////analysis.except ..non_jvm_type luxT)))
@@ -490,7 +490,7 @@
     
     {.#Primitive name parameters}
     (`` (cond (or (~~ (template []
-                        [(text\= (..reflection ) name)]
+                        [(text#= (..reflection ) name)]
 
                         [jvm.boolean]
                         [jvm.byte]
@@ -504,14 +504,14 @@
               (/////analysis.except ..non_parameter objectT)
 
               ... else
-              (phase\in (jvm.class name (list)))))
+              (phase#in (jvm.class name (list)))))
 
     {.#Named name anonymous}
     (check_parameter anonymous)
 
     (^template []
       [{ id}
-       (phase\in (jvm.class ..object_class (list)))])
+       (phase#in (jvm.class ..object_class (list)))])
     ([.#Var]
      [.#Ex])
 
@@ -537,8 +537,8 @@
   (case objectT
     {.#Primitive name {.#End}}
     (`` (cond (~~ (template []
-                    [(text\= (..reflection ) name)
-                     (phase\in )]
+                    [(text#= (..reflection ) name)
+                     (phase#in )]
 
                     [jvm.boolean]
                     [jvm.byte]
@@ -550,8 +550,8 @@
                     [jvm.char]))
 
               (~~ (template []
-                    [(text\= (..reflection (jvm.array )) name)
-                     (phase\in (jvm.array ))]
+                    [(text#= (..reflection (jvm.array )) name)
+                     (phase#in (jvm.array ))]
 
                     [jvm.boolean]
                     [jvm.byte]
@@ -564,22 +564,22 @@
 
               (text.starts_with? descriptor.array_prefix name)
               (let [[_ unprefixed] (maybe.trusted (text.split_by descriptor.array_prefix name))]
-                (\ phase.monad each jvm.array
+                (# phase.monad each jvm.array
                    (check_jvm {.#Primitive unprefixed (list)})))
 
               ... else
-              (phase\in (jvm.class name (list)))))
+              (phase#in (jvm.class name (list)))))
     
     (^ {.#Primitive (static array.type_name)
                     (list elementT)})
     (|> elementT
         check_jvm
-        (phase\each jvm.array))
+        (phase#each jvm.array))
     
     {.#Primitive name parameters}
     (do [! phase.monad]
       [parameters (monad.each ! check_parameter parameters)]
-      (phase\in (jvm.class name parameters)))
+      (phase#in (jvm.class name parameters)))
 
     {.#Named name anonymous}
     (check_jvm anonymous)
@@ -604,15 +604,15 @@
 (def: (check_object objectT)
   (-> .Type (Operation External))
   (do [! phase.monad]
-    [name (\ ! each ..reflection (check_jvm objectT))]
+    [name (# ! each ..reflection (check_jvm objectT))]
     (if (dictionary.key? ..boxes name)
       (/////analysis.except ..primitives_are_not_objects [name])
-      (phase\in name))))
+      (phase#in name))))
 
 (def: (check_return type)
   (-> .Type (Operation (Type Return)))
   (if (same? .Any type)
-    (phase\in jvm.void)
+    (phase#in jvm.void)
     (check_jvm type)))
 
 (def: (read_primitive_array_handler lux_type jvm_type)
@@ -896,7 +896,7 @@
     (monad.each phase.monad
                 (function (_ superT)
                   (do [! phase.monad]
-                    [super_name (\ ! each ..reflection (check_jvm superT))
+                    [super_name (# ! each ..reflection (check_jvm superT))
                      super_class (phase.lifted (reflection!.load class_loader super_name))]
                     (in [[super_name superT]
                          (java/lang/Class::isAssignableFrom super_class target_class)])))
@@ -912,18 +912,18 @@
       (^ (list fromC))
       (do [! phase.monad]
         [toT (///.lifted meta.expected_type)
-         target_name (\ ! each ..reflection (check_jvm toT))
+         target_name (# ! each ..reflection (check_jvm toT))
          [fromT fromA] (typeA.with_inference
                          (analyse archive fromC))
-         source_name (\ ! each ..reflection (check_jvm fromT))
+         source_name (# ! each ..reflection (check_jvm fromT))
          can_cast? (: (Operation Bit)
                       (`` (cond (~~ (template [ ]
                                       [(let [=primitive (reflection.reflection )]
-                                         (or (and (text\= =primitive source_name)
-                                                  (or (text\=  target_name)
-                                                      (text\= =primitive target_name)))
-                                             (and (text\=  source_name)
-                                                  (text\= =primitive target_name))))
+                                         (or (and (text#= =primitive source_name)
+                                                  (or (text#=  target_name)
+                                                      (text#= =primitive target_name)))
+                                             (and (text#=  source_name)
+                                                  (text#= =primitive target_name))))
                                        (in true)]
 
                                       [reflection.boolean box.boolean]
@@ -942,23 +942,23 @@
                                    _ (phase.assertion ..primitives_are_not_objects [target_name]
                                                       (not (dictionary.key? ..boxes target_name)))
                                    target_class (phase.lifted (reflection!.load class_loader target_name))
-                                   _ (if (text\= ..inheritance_relationship_type_name source_name)
+                                   _ (if (text#= ..inheritance_relationship_type_name source_name)
                                        (in [])
                                        (do !
                                          [source_class (phase.lifted (reflection!.load class_loader source_name))]
                                          (phase.assertion ..cannot_cast [fromT toT fromC]
                                                           (java/lang/Class::isAssignableFrom source_class target_class))))]
                                   (loop [[current_name currentT] [source_name fromT]]
-                                    (if (text\= target_name current_name)
+                                    (if (text#= target_name current_name)
                                       (in true)
                                       (do !
                                         [candidate_parents (: (Operation (List [[Text .Type] Bit]))
-                                                              (if (text\= ..inheritance_relationship_type_name current_name)
+                                                              (if (text#= ..inheritance_relationship_type_name current_name)
                                                                 (inheritance_candidate_parents class_loader currentT target_class toT fromC)
                                                                 (class_candidate_parents class_loader current_name currentT target_name target_class)))]
                                         (case (|> candidate_parents
                                                   (list.only product.right)
-                                                  (list\each product.left))
+                                                  (list#each product.left))
                                           {.#Item [next_name nextT] _}
                                           (recur [next_name nextT])
 
@@ -1102,7 +1102,7 @@
                     phase.lifted)
      .let [modifiers (java/lang/reflect/Method::getModifiers method)
            correct_class? (java/lang/Object::equals class (java/lang/reflect/Method::getDeclaringClass method))
-           correct_method? (text\= method_name (java/lang/reflect/Method::getName method))
+           correct_method? (text#= method_name (java/lang/reflect/Method::getName method))
            static_matches? (case method_style
                              {#Static}
                              (java/lang/reflect/Modifier::isStatic modifiers)
@@ -1118,9 +1118,9 @@
                               true)
            arity_matches? (n.= (list.size inputsJT) (list.size parameters))
            inputs_match? (and arity_matches?
-                              (list\mix (function (_ [expectedJC actualJC] prev)
+                              (list#mix (function (_ [expectedJC actualJC] prev)
                                           (and prev
-                                               (jvm\= expectedJC (: (Type Value)
+                                               (jvm#= expectedJC (: (Type Value)
                                                                     (case (jvm_parser.var? actualJC)
                                                                       {.#Some name}
                                                                       (|> aliasing
@@ -1149,7 +1149,7 @@
     (in (and (java/lang/Object::equals class (java/lang/reflect/Constructor::getDeclaringClass constructor))
              (n.= (list.size inputsJT) (list.size parameters))
              (list.every? (function (_ [expectedJC actualJC])
-                            (jvm\= expectedJC (: (Type Value)
+                            (jvm#= expectedJC (: (Type Value)
                                                  (case (jvm_parser.var? actualJC)
                                                    {.#Some name}
                                                    (|> aliasing
@@ -1167,15 +1167,15 @@
 
 (def: (jvm_type_var_mapping owner_tvars method_tvars)
   (-> (List Text) (List Text) [(List .Type) Mapping])
-  (let [jvm_tvars (list\composite owner_tvars method_tvars)
+  (let [jvm_tvars (list#composite owner_tvars method_tvars)
         lux_tvars (|> jvm_tvars
                       list.reversed
                       list.enumeration
-                      (list\each (function (_ [idx name])
+                      (list#each (function (_ [idx name])
                                    [name (index_parameter idx)]))
                       list.reversed)
         num_owner_tvars (list.size owner_tvars)
-        owner_tvarsT (|> lux_tvars (list.first num_owner_tvars) (list\each product.right))
+        owner_tvarsT (|> lux_tvars (list.first num_owner_tvars) (list#each product.right))
         mapping (dictionary.of_list text.hash lux_tvars)]
     [owner_tvarsT mapping]))
 
@@ -1189,28 +1189,28 @@
                       _
                       (|> (java/lang/Class::getTypeParameters owner)
                           (array.list {.#None})
-                          (list\each (|>> java/lang/reflect/TypeVariable::getName))))
+                          (list#each (|>> java/lang/reflect/TypeVariable::getName))))
         method_tvars (|> (java/lang/reflect/Method::getTypeParameters method)
                          (array.list {.#None})
-                         (list\each (|>> java/lang/reflect/TypeVariable::getName)))
+                         (list#each (|>> java/lang/reflect/TypeVariable::getName)))
         [owner_tvarsT mapping] (jvm_type_var_mapping owner_tvars method_tvars)]
     (do [! phase.monad]
       [inputsT (|> (java/lang/reflect/Method::getGenericParameterTypes method)
                    (array.list {.#None})
                    (monad.each ! (|>> reflection!.type phase.lifted))
-                   (phase\each (monad.each ! (..reflection_type mapping)))
-                   phase\conjoint)
+                   (phase#each (monad.each ! (..reflection_type mapping)))
+                   phase#conjoint)
        outputT (|> method
                    java/lang/reflect/Method::getGenericReturnType
                    reflection!.return
                    phase.lifted
-                   (phase\each (..reflection_return mapping))
-                   phase\conjoint)
+                   (phase#each (..reflection_return mapping))
+                   phase#conjoint)
        exceptionsT (|> (java/lang/reflect/Method::getGenericExceptionTypes method)
                        (array.list {.#None})
                        (monad.each ! (|>> reflection!.type phase.lifted))
-                       (phase\each (monad.each ! (..reflection_type mapping)))
-                       phase\conjoint)
+                       (phase#each (monad.each ! (..reflection_type mapping)))
+                       phase#conjoint)
        .let [methodT (<| (type.univ_q (dictionary.size mapping))
                          (type.function (case method_style
                                           {#Static}
@@ -1229,22 +1229,22 @@
   (let [owner (java/lang/reflect/Constructor::getDeclaringClass constructor)
         owner_tvars (|> (java/lang/Class::getTypeParameters owner)
                         (array.list {.#None})
-                        (list\each (|>> java/lang/reflect/TypeVariable::getName)))
+                        (list#each (|>> java/lang/reflect/TypeVariable::getName)))
         method_tvars (|> (java/lang/reflect/Constructor::getTypeParameters constructor)
                          (array.list {.#None})
-                         (list\each (|>> java/lang/reflect/TypeVariable::getName)))
+                         (list#each (|>> java/lang/reflect/TypeVariable::getName)))
         [owner_tvarsT mapping] (jvm_type_var_mapping owner_tvars method_tvars)]
     (do [! phase.monad]
       [inputsT (|> (java/lang/reflect/Constructor::getGenericParameterTypes constructor)
                    (array.list {.#None})
                    (monad.each ! (|>> reflection!.type phase.lifted))
-                   (phase\each (monad.each ! (reflection_type mapping)))
-                   phase\conjoint)
+                   (phase#each (monad.each ! (reflection_type mapping)))
+                   phase#conjoint)
        exceptionsT (|> (java/lang/reflect/Constructor::getGenericExceptionTypes constructor)
                        (array.list {.#None})
                        (monad.each ! (|>> reflection!.type phase.lifted))
-                       (phase\each (monad.each ! (reflection_type mapping)))
-                       phase\conjoint)
+                       (phase#each (monad.each ! (reflection_type mapping)))
+                       phase#conjoint)
        .let [objectT {.#Primitive (java/lang/Class::getName owner) owner_tvarsT}
              constructorT (<| (type.univ_q (dictionary.size mapping))
                               (type.function inputsT)
@@ -1276,7 +1276,7 @@
      (->  (List (Type Var)))
      (|>> 
           (array.list {.#None})
-          (list\each (|>> java/lang/reflect/TypeVariable::getName jvm.var))))]
+          (list#each (|>> java/lang/reflect/TypeVariable::getName jvm.var))))]
 
   [class_type_variables (java/lang/Class java/lang/Object) java/lang/Class::getTypeParameters]
   [constructor_type_variables (java/lang/reflect/Constructor java/lang/Object) java/lang/reflect/Constructor::getTypeParameters]
@@ -1285,8 +1285,8 @@
 
 (def: (aliasing expected actual)
   (-> (List (Type Var)) (List (Type Var)) Aliasing)
-  (|> (list.zipped/2 (list\each jvm_parser.name actual)
-                     (list\each jvm_parser.name expected))
+  (|> (list.zipped/2 (list#each jvm_parser.name actual)
+                     (list#each jvm_parser.name expected))
       (dictionary.of_list text.hash)))
 
 (def: (method_candidate class_loader actual_class_tvars class_name actual_method_tvars method_name method_style inputsJT)
@@ -1297,7 +1297,7 @@
      candidates (|> class
                     java/lang/Class::getDeclaredMethods
                     (array.list {.#None})
-                    (list.only (|>> java/lang/reflect/Method::getName (text\= method_name)))
+                    (list.only (|>> java/lang/reflect/Method::getName (text#= method_name)))
                     (monad.each ! (: (-> java/lang/reflect/Method (Operation Evaluation))
                                      (function (_ method)
                                        (do !
@@ -1305,7 +1305,7 @@
                                                 aliasing (dictionary.merged (..aliasing expected_class_tvars actual_class_tvars)
                                                                             (..aliasing expected_method_tvars actual_method_tvars))]
                                           passes? (check_method aliasing class method_name method_style inputsJT method)]
-                                         (\ ! each (if passes?
+                                         (# ! each (if passes?
                                                      (|>> {#Pass})
                                                      (|>> {#Hint}))
                                             (method_signature method_style method)))))))]
@@ -1336,7 +1336,7 @@
                                              aliasing (dictionary.merged (..aliasing expected_class_tvars actual_class_tvars)
                                                                          (..aliasing expected_method_tvars actual_method_tvars))]
                                        passes? (check_constructor aliasing class inputsJT constructor)]
-                                      (\ ! each
+                                      (# ! each
                                          (if passes?
                                            (|>> {#Pass})
                                            (|>> {#Hint}))
@@ -1369,8 +1369,8 @@
 (def: (decorate_inputs typesT inputsA)
   (-> (List (Type Value)) (List Analysis) (List Analysis))
   (|> inputsA
-      (list.zipped/2 (list\each (|>> ..signature /////analysis.text) typesT))
-      (list\each (function (_ [type value])
+      (list.zipped/2 (list#each (|>> ..signature /////analysis.text) typesT))
+      (list#each (function (_ [type value])
                    (/////analysis.tuple (list type value))))))
 
 (def: type_vars
@@ -1383,11 +1383,11 @@
     (function (_ extension_name analyse archive [class_tvars [class method] method_tvars argsTC])
       (do phase.monad
         [_ (..ensure_fresh_class! class_loader class)
-         .let [argsT (list\each product.left argsTC)]
+         .let [argsT (list#each product.left argsTC)]
          [methodT deprecated? exceptionsT] (..method_candidate class_loader class_tvars class method_tvars method {#Static} argsT)
          _ (phase.assertion ..deprecated_method [class method methodT]
                             (not deprecated?))
-         [outputT argsA] (inferenceA.general archive analyse methodT (list\each product.right argsTC))
+         [outputT argsA] (inferenceA.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)
@@ -1401,11 +1401,11 @@
     (function (_ extension_name analyse archive [class_tvars [class method] method_tvars objectC argsTC])
       (do phase.monad
         [_ (..ensure_fresh_class! class_loader class)
-         .let [argsT (list\each product.left argsTC)]
+         .let [argsT (list#each product.left argsTC)]
          [methodT deprecated? exceptionsT] (..method_candidate class_loader class_tvars class method_tvars method {#Virtual} argsT)
          _ (phase.assertion ..deprecated_method [class method methodT]
                             (not deprecated?))
-         [outputT allA] (inferenceA.general archive analyse methodT (list& objectC (list\each product.right argsTC)))
+         [outputT allA] (inferenceA.general archive analyse methodT (list& objectC (list#each product.right argsTC)))
          .let [[objectA argsA] (case allA
                                  {.#Item objectA argsA}
                                  [objectA argsA]
@@ -1426,11 +1426,11 @@
     (function (_ extension_name analyse archive [class_tvars [class method] method_tvars objectC argsTC])
       (do phase.monad
         [_ (..ensure_fresh_class! class_loader class)
-         .let [argsT (list\each product.left argsTC)]
+         .let [argsT (list#each product.left argsTC)]
          [methodT deprecated? exceptionsT] (..method_candidate class_loader class_tvars class method_tvars method {#Special} argsT)
          _ (phase.assertion ..deprecated_method [class method methodT]
                             (not deprecated?))
-         [outputT argsA] (inferenceA.general archive analyse methodT (list& objectC (list\each product.right argsTC)))
+         [outputT argsA] (inferenceA.general archive analyse methodT (list& objectC (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)
@@ -1444,14 +1444,14 @@
     (function (_ extension_name analyse archive [class_tvars [class_name method] method_tvars objectC argsTC])
       (do phase.monad
         [_ (..ensure_fresh_class! class_loader class_name)
-         .let [argsT (list\each product.left argsTC)]
+         .let [argsT (list#each product.left argsTC)]
          class (phase.lifted (reflection!.load class_loader class_name))
          _ (phase.assertion non_interface class_name
                             (java/lang/reflect/Modifier::isInterface (java/lang/Class::getModifiers class)))
          [methodT deprecated? exceptionsT] (..method_candidate class_loader class_tvars class_name method_tvars method {#Interface} argsT)
          _ (phase.assertion ..deprecated_method [class_name method methodT]
                             (not deprecated?))
-         [outputT allA] (inferenceA.general archive analyse methodT (list& objectC (list\each product.right argsTC)))
+         [outputT allA] (inferenceA.general archive analyse methodT (list& objectC (list#each product.right argsTC)))
          .let [[objectA argsA] (case allA
                                  {.#Item objectA argsA}
                                  [objectA argsA]
@@ -1473,11 +1473,11 @@
     (function (_ extension_name analyse archive [class_tvars class method_tvars argsTC])
       (do phase.monad
         [_ (..ensure_fresh_class! class_loader class)
-         .let [argsT (list\each product.left argsTC)]
+         .let [argsT (list#each product.left argsTC)]
          [methodT deprecated? exceptionsT] (..constructor_candidate class_loader class_tvars class method_tvars argsT)
          _ (phase.assertion ..deprecated_method [class ..constructor_method methodT]
                             (not deprecated?))
-         [outputT argsA] (inferenceA.general archive analyse methodT (list\each product.right argsTC))]
+         [outputT argsA] (inferenceA.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))})))]))
 
@@ -1528,7 +1528,7 @@
 (def: (annotation_analysis [name parameters])
   (-> (Annotation Analysis) Analysis)
   (/////analysis.tuple (list& (/////analysis.text name)
-                              (list\each annotation_parameter_analysis parameters))))
+                              (list#each annotation_parameter_analysis parameters))))
 
 (template [ ]
   [(def: 
@@ -1563,7 +1563,7 @@
                         (do [! try.monad]
                           [.let [type_variables (|> (java/lang/reflect/Method::getTypeParameters method)
                                                     (array.list {.#None})
-                                                    (list\each (|>> java/lang/reflect/TypeVariable::getName
+                                                    (list#each (|>> java/lang/reflect/TypeVariable::getName
                                                                     jvm.var)))]
                            inputs (|> (java/lang/reflect/Method::getGenericParameterTypes method)
                                       (array.list {.#None})
@@ -1587,9 +1587,9 @@
   [(def: ( class_loader)
      (-> java/lang/ClassLoader (List (Type Class)) (Try (List [Text (Type Method)])))
      (|>> (monad.each try.monad (|>> ..reflection (reflection!.load class_loader)))
-          (try\each (monad.each try.monad ))
-          try\conjoint
-          (try\each list\conjoint)))]
+          (try#each (monad.each try.monad ))
+          try#conjoint
+          (try#each list#conjoint)))]
 
   [all_abstract_methods ..abstract_methods]
   [all_methods ..methods]
@@ -1697,20 +1697,20 @@
        [scope bodyA] (|> arguments'
                          {.#Item [self_name selfT]}
                          list.reversed
-                         (list\mix scope.with_local (analyse archive body))
+                         (list#mix scope.with_local (analyse archive body))
                          (typeA.with_type .Any)
                          /////analysis.with_scope)]
       (in (/////analysis.tuple (list (/////analysis.text ..constructor_tag)
                                      (visibility_analysis visibility)
                                      (/////analysis.bit strict_fp?)
-                                     (/////analysis.tuple (list\each annotation_analysis annotationsA))
-                                     (/////analysis.tuple (list\each var_analysis vars))
+                                     (/////analysis.tuple (list#each annotation_analysis annotationsA))
+                                     (/////analysis.tuple (list#each var_analysis vars))
                                      (/////analysis.text self_name)
-                                     (/////analysis.tuple (list\each ..argument_analysis arguments))
-                                     (/////analysis.tuple (list\each class_analysis exceptions))
-                                     (/////analysis.tuple (list\each typed_analysis super_arguments))
+                                     (/////analysis.tuple (list#each ..argument_analysis arguments))
+                                     (/////analysis.tuple (list#each class_analysis exceptions))
+                                     (/////analysis.tuple (list#each typed_analysis super_arguments))
                                      {/////analysis.#Function
-                                      (list\each (|>> /////analysis.variable)
+                                      (list#each (|>> /////analysis.variable)
                                                  (scope.environment scope))
                                       (/////analysis.tuple (list bodyA))}
                                      ))))))
@@ -1773,7 +1773,7 @@
        [scope bodyA] (|> arguments'
                          {.#Item [self_name selfT]}
                          list.reversed
-                         (list\mix scope.with_local (analyse archive body))
+                         (list#mix scope.with_local (analyse archive body))
                          (typeA.with_type returnT)
                          /////analysis.with_scope)]
       (in (/////analysis.tuple (list (/////analysis.text ..virtual_tag)
@@ -1781,14 +1781,14 @@
                                      (visibility_analysis visibility)
                                      (/////analysis.bit final?)
                                      (/////analysis.bit strict_fp?)
-                                     (/////analysis.tuple (list\each annotation_analysis annotationsA))
-                                     (/////analysis.tuple (list\each var_analysis vars))
+                                     (/////analysis.tuple (list#each annotation_analysis annotationsA))
+                                     (/////analysis.tuple (list#each var_analysis vars))
                                      (/////analysis.text self_name)
-                                     (/////analysis.tuple (list\each ..argument_analysis arguments))
+                                     (/////analysis.tuple (list#each ..argument_analysis arguments))
                                      (return_analysis return)
-                                     (/////analysis.tuple (list\each class_analysis exceptions))
+                                     (/////analysis.tuple (list#each class_analysis exceptions))
                                      {/////analysis.#Function
-                                      (list\each (|>> /////analysis.variable)
+                                      (list#each (|>> /////analysis.variable)
                                                  (scope.environment scope))
                                       (/////analysis.tuple (list bodyA))}
                                      ))))))
@@ -1846,21 +1846,21 @@
                               arguments)
        [scope bodyA] (|> arguments'
                          list.reversed
-                         (list\mix scope.with_local (analyse archive body))
+                         (list#mix scope.with_local (analyse archive body))
                          (typeA.with_type returnT)
                          /////analysis.with_scope)]
       (in (/////analysis.tuple (list (/////analysis.text ..static_tag)
                                      (/////analysis.text method_name)
                                      (visibility_analysis visibility)
                                      (/////analysis.bit strict_fp?)
-                                     (/////analysis.tuple (list\each annotation_analysis annotationsA))
-                                     (/////analysis.tuple (list\each var_analysis vars))
-                                     (/////analysis.tuple (list\each ..argument_analysis arguments))
+                                     (/////analysis.tuple (list#each annotation_analysis annotationsA))
+                                     (/////analysis.tuple (list#each var_analysis vars))
+                                     (/////analysis.tuple (list#each ..argument_analysis arguments))
                                      (return_analysis return)
-                                     (/////analysis.tuple (list\each class_analysis
+                                     (/////analysis.tuple (list#each class_analysis
                                                                      exceptions))
                                      {/////analysis.#Function
-                                      (list\each (|>> /////analysis.variable)
+                                      (list#each (|>> /////analysis.variable)
                                                  (scope.environment scope))
                                       (/////analysis.tuple (list bodyA))}
                                      ))))))
@@ -1915,7 +1915,7 @@
   (let [[parent_name parent_parameters] (jvm_parser.read_class parent_type)]
     (case (list.one (function (_ super)
                       (let [[super_name super_parameters] (jvm_parser.read_class super)]
-                        (if (text\= parent_name super_name)
+                        (if (text#= parent_name super_name)
                           {.#Some super_parameters}
                           {.#None})))
                     supers)
@@ -1930,7 +1930,7 @@
                                    phase.lifted)]
             (|> super_parameters
                 (monad.each ! (..reflection_type mapping))
-                (\ ! each (|>> (list.zipped/2 parent_parameters)))))
+                (# ! each (|>> (list.zipped/2 parent_parameters)))))
           (phase.lifted (exception.except ..mismatched_super_parameters [parent_name expected_count actual_count]))))
       
       {.#None}
@@ -1945,7 +1945,7 @@
                                            check.existential)]
                                 (in [var exT])))
                           vars)]
-    (in (list\mix (function (_ [varJ varT] mapping)
+    (in (list#mix (function (_ [varJ varT] mapping)
                     (dictionary.has (jvm_parser.name varJ) varT mapping))
                   mapping
                   pairings))))
@@ -1954,7 +1954,7 @@
   (-> (List (Type Class)) (Type Class) Mapping (Operation Mapping))
   (do phase.monad
     [override_mapping (..override_mapping mapping supers parent_type)]
-    (in (list\mix (function (_ [super_var bound_type] mapping)
+    (in (list#mix (function (_ [super_var bound_type] mapping)
                     (dictionary.has super_var bound_type mapping))
                   mapping
                   override_mapping))))
@@ -1982,7 +1982,7 @@
                                {/////analysis.#Complex
                                 {/////analysis.#Tuple (|> arity
                                                           list.indices
-                                                          (list\each (|>> (n.+ 2) {/////analysis.#Bind})))}}
+                                                          (list#each (|>> (n.+ 2) {/////analysis.#Bind})))}}
                                
                                /////analysis.#then
                                bodyA]
@@ -2016,22 +2016,22 @@
        [scope bodyA] (|> arguments'
                          {.#Item [self_name selfT]}
                          list.reversed
-                         (list\mix scope.with_local (analyse archive body))
+                         (list#mix scope.with_local (analyse archive body))
                          (typeA.with_type returnT)
                          /////analysis.with_scope)]
       (in (/////analysis.tuple (list (/////analysis.text ..overriden_tag)
                                      (class_analysis parent_type)
                                      (/////analysis.text method_name)
                                      (/////analysis.bit strict_fp?)
-                                     (/////analysis.tuple (list\each annotation_analysis annotationsA))
-                                     (/////analysis.tuple (list\each var_analysis vars))
+                                     (/////analysis.tuple (list#each annotation_analysis annotationsA))
+                                     (/////analysis.tuple (list#each var_analysis vars))
                                      (/////analysis.text self_name)
-                                     (/////analysis.tuple (list\each ..argument_analysis arguments))
+                                     (/////analysis.tuple (list#each ..argument_analysis arguments))
                                      (return_analysis return)
-                                     (/////analysis.tuple (list\each class_analysis
+                                     (/////analysis.tuple (list#each class_analysis
                                                                      exceptions))
                                      {/////analysis.#Function
-                                      (list\each (|>> /////analysis.variable)
+                                      (list#each (|>> /////analysis.variable)
                                                  (scope.environment scope))
                                       (..hide_method_body (list.size arguments) bodyA)}
                                      ))))))
@@ -2055,8 +2055,8 @@
   (list.only (function (_ [sub_name subJT])
                (|> super_set
                    (list.only (function (_ [super_name superJT])
-                                (and (text\= super_name sub_name)
-                                     (jvm\= superJT subJT))))
+                                (and (text#= super_name sub_name)
+                                     (jvm#= superJT subJT))))
                    list.size
                    (n.= 1)
                    not))
@@ -2077,12 +2077,12 @@
      class (phase.lifted (reflection!.load class_loader name))
      .let [expected_parameters (|> (java/lang/Class::getTypeParameters class)
                                    (array.list {.#None})
-                                   (list\each (|>> java/lang/reflect/TypeVariable::getName)))]
+                                   (list#each (|>> java/lang/reflect/TypeVariable::getName)))]
      _ (phase.assertion ..class_parameter_mismatch [expected_parameters actual_parameters]
                         (n.= (list.size expected_parameters)
                              (list.size actual_parameters)))]
     (in (|> (list.zipped/2 expected_parameters actual_parameters)
-            (list\mix (function (_ [expected actual] mapping)
+            (list#mix (function (_ [expected actual] mapping)
                         (case (jvm_parser.var? actual)
                           {.#Some actual}
                           (dictionary.has actual expected mapping)
@@ -2109,7 +2109,7 @@
                                        (do !
                                          [aliasing (super_aliasing class_loader parent_type)]
                                          (in [method_name (|> (jvm.method [type_vars
-                                                                           (list\each product.right arguments)
+                                                                           (list#each product.right arguments)
                                                                            return
                                                                            exceptions])
                                                               (jvm_alias.method aliasing))])))
@@ -2141,7 +2141,7 @@
          _ (monad.each ! (|>> ..reflection (..ensure_fresh_class! class_loader)) super_interfaces)
          parameters (typeA.with_env
                       (..parameter_types parameters))
-         .let [mapping (list\mix (function (_ [parameterJ parameterT] mapping)
+         .let [mapping (list#mix (function (_ [parameterJ parameterT] mapping)
                                    (dictionary.has (jvm_parser.name parameterJ)
                                                    parameterT
                                                    mapping))
@@ -2172,8 +2172,8 @@
          methodsA (monad.each ! (analyse_overriden_method analyse archive selfT mapping supers) methods)]
         (in {/////analysis.#Extension extension_name
                                       (list (class_analysis super_class)
-                                            (/////analysis.tuple (list\each class_analysis super_interfaces))
-                                            (/////analysis.tuple (list\each typed_analysis constructor_argsA+))
+                                            (/////analysis.tuple (list#each class_analysis super_interfaces))
+                                            (/////analysis.tuple (list#each typed_analysis constructor_argsA+))
                                             (/////analysis.tuple methodsA))})))]))
 
 (def: (bundle::class class_loader)
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 e1c23ed0d..4b58b0bc1 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
@@ -13,7 +13,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]
+      ["[0]" list ("[1]#[0]" functor)]
       ["[0]" dictionary {"+" [Dictionary]}]]]
     [math
      [number
@@ -114,9 +114,9 @@
           else (typeA.with_type expectedT
                  (phase archive else))]
          (in (|> conditionals
-                 (list\each (function (_ [cases branch])
+                 (list#each (function (_ [cases branch])
                               (////analysis.tuple
-                               (list (////analysis.tuple (list\each (|>> ////analysis.nat) cases))
+                               (list (////analysis.tuple (list#each (|>> ////analysis.nat) cases))
                                      branch))))
                  (list& input else)
                  {////analysis.#Extension extension_name}))))])))
@@ -164,7 +164,7 @@
     (case args
       (^ (list typeC valueC))
       (do [! ////.monad]
-        [actualT (\ ! each (|>> (:as Type))
+        [actualT (# ! each (|>> (:as Type))
                     (eval archive Type typeC))
          _ (typeA.infer actualT)]
         (typeA.with_type actualT
@@ -179,7 +179,7 @@
     (case args
       (^ (list typeC valueC))
       (do [! ////.monad]
-        [actualT (\ ! each (|>> (:as Type))
+        [actualT (# ! each (|>> (:as Type))
                     (eval archive Type typeC))
          _ (typeA.infer actualT)
          [valueT valueA] (typeA.with_inference
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/bundle.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/bundle.lux
index b8c30a7bb..49950f455 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/bundle.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/bundle.lux
@@ -7,7 +7,7 @@
      ["[0]" text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor)]
+      ["[0]" list ("[1]#[0]" functor)]
       ["[0]" dictionary {"+" [Dictionary]}]]]]]
   [// {"+" [Handler Bundle]}])
 
@@ -25,5 +25,5 @@
   (All (_ s i o)
     (-> Text (-> (Bundle s i o) (Bundle s i o))))
   (|>> dictionary.entries
-       (list\each (function (_ [key val]) [(format prefix " " key) val]))
+       (list#each (function (_ [key val]) [(format prefix " " key) val]))
        (dictionary.of_list text.hash)))
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 a4c026cb4..c51113913 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
@@ -6,7 +6,7 @@
      ["[0]" monad {"+" [do]}]]
     [control
      [pipe {"+" [case>]}]
-     ["<>" parser ("[1]\[0]" monad)
+     ["<>" parser ("[1]#[0]" monad)
       ["" code {"+" [Parser]}]
       ["" text]]]
     [data
@@ -14,7 +14,7 @@
      [text
       ["%" format {"+" [format]}]]
      [collection
-      ["[0]" list ("[1]\[0]" functor mix)]
+      ["[0]" list ("[1]#[0]" functor mix)]
       ["[0]" dictionary]
       ["[0]" row]]]
     [macro
@@ -25,7 +25,7 @@
     [target
      [jvm
       ["_" bytecode {"+" [Bytecode]}]
-      ["[0]" modifier {"+" [Modifier]} ("[1]\[0]" monoid)]
+      ["[0]" modifier {"+" [Modifier]} ("[1]#[0]" monoid)]
       ["[0]" attribute]
       ["[0]" field]
       ["[0]" version]
@@ -77,7 +77,7 @@
   (Parser (Modifier field.Field))
   (`` ($_ <>.either
           (~~ (template [