From 34e310622bdeb1d0588c0664c0e78cbaa84f837c Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Wed, 2 Dec 2020 06:42:20 -0400 Subject: Re-named "::" and ":::" macros to "\" and "\\", to be consistent with the convention that only macros that deal with types may start with a colon. --- stdlib/source/lux.lux | 20 ++-- stdlib/source/lux/abstract/apply.lux | 14 +-- stdlib/source/lux/abstract/codec.lux | 8 +- stdlib/source/lux/abstract/comonad/cofree.lux | 4 +- stdlib/source/lux/abstract/equivalence.lux | 10 +- stdlib/source/lux/abstract/hash.lux | 16 +-- stdlib/source/lux/abstract/interval.lux | 50 ++++----- stdlib/source/lux/abstract/monad.lux | 6 +- stdlib/source/lux/abstract/monad/free.lux | 20 ++-- stdlib/source/lux/abstract/monad/indexed.lux | 8 +- stdlib/source/lux/abstract/monoid.lux | 6 +- stdlib/source/lux/abstract/order.lux | 18 ++-- stdlib/source/lux/control/concurrency/actor.lux | 26 ++--- stdlib/source/lux/control/concurrency/frp.lux | 12 +-- stdlib/source/lux/control/concurrency/promise.lux | 12 +-- .../source/lux/control/concurrency/semaphore.lux | 4 +- stdlib/source/lux/control/concurrency/stm.lux | 6 +- stdlib/source/lux/control/parser.lux | 16 +-- stdlib/source/lux/control/parser/analysis.lux | 2 +- stdlib/source/lux/control/parser/binary.lux | 2 +- stdlib/source/lux/control/parser/cli.lux | 2 +- stdlib/source/lux/control/parser/code.lux | 4 +- stdlib/source/lux/control/parser/environment.lux | 2 +- stdlib/source/lux/control/parser/json.lux | 4 +- stdlib/source/lux/control/parser/synthesis.lux | 2 +- stdlib/source/lux/control/parser/text.lux | 6 +- stdlib/source/lux/control/parser/type.lux | 2 +- stdlib/source/lux/control/parser/xml.lux | 2 +- stdlib/source/lux/control/reader.lux | 4 +- stdlib/source/lux/control/region.lux | 26 ++--- stdlib/source/lux/control/remember.lux | 2 +- stdlib/source/lux/control/security/capability.lux | 4 +- stdlib/source/lux/control/state.lux | 10 +- stdlib/source/lux/control/try.lux | 4 +- stdlib/source/lux/control/writer.lux | 12 +-- stdlib/source/lux/data/collection/dictionary.lux | 32 +++--- .../lux/data/collection/dictionary/ordered.lux | 12 +-- stdlib/source/lux/data/collection/list.lux | 14 +-- stdlib/source/lux/data/collection/queue.lux | 6 +- .../source/lux/data/collection/queue/priority.lux | 10 +- stdlib/source/lux/data/collection/row.lux | 10 +- stdlib/source/lux/data/collection/set.lux | 2 +- stdlib/source/lux/data/collection/set/multi.lux | 2 +- stdlib/source/lux/data/collection/set/ordered.lux | 4 +- stdlib/source/lux/data/collection/stack.lux | 4 +- stdlib/source/lux/data/collection/tree.lux | 4 +- stdlib/source/lux/data/collection/tree/finger.lux | 2 +- stdlib/source/lux/data/color.lux | 6 +- stdlib/source/lux/data/format/binary.lux | 10 +- stdlib/source/lux/data/format/css.lux | 4 +- stdlib/source/lux/data/format/css/value.lux | 2 +- stdlib/source/lux/data/format/html.lux | 2 +- stdlib/source/lux/data/format/json.lux | 4 +- stdlib/source/lux/data/format/tar.lux | 36 +++---- stdlib/source/lux/data/format/xml.lux | 4 +- stdlib/source/lux/data/maybe.lux | 10 +- stdlib/source/lux/data/name.lux | 6 +- stdlib/source/lux/data/number.lux | 8 +- stdlib/source/lux/data/number/frac.lux | 16 +-- stdlib/source/lux/data/number/int.lux | 4 +- stdlib/source/lux/data/number/nat.lux | 4 +- stdlib/source/lux/data/number/rev.lux | 8 +- stdlib/source/lux/data/product.lux | 12 +-- stdlib/source/lux/data/store.lux | 12 +-- stdlib/source/lux/data/text/format.lux | 32 +++--- stdlib/source/lux/data/text/regex.lux | 12 +-- stdlib/source/lux/data/text/unicode.lux | 16 +-- stdlib/source/lux/data/trace.lux | 4 +- stdlib/source/lux/host.js.lux | 6 +- stdlib/source/lux/host.jvm.lux | 114 ++++++++++----------- stdlib/source/lux/host.old.lux | 14 +-- stdlib/source/lux/locale.lux | 4 +- stdlib/source/lux/locale/language.lux | 2 +- stdlib/source/lux/locale/territory.lux | 2 +- stdlib/source/lux/macro/code.lux | 14 +-- stdlib/source/lux/math/random.lux | 30 +++--- stdlib/source/lux/meta.lux | 36 +++---- stdlib/source/lux/target/jvm/bytecode.lux | 28 ++--- stdlib/source/lux/target/jvm/bytecode/address.lux | 8 +- .../source/lux/target/jvm/bytecode/environment.lux | 2 +- .../jvm/bytecode/environment/limit/registry.lux | 6 +- .../jvm/bytecode/environment/limit/stack.lux | 8 +- .../source/lux/target/jvm/bytecode/instruction.lux | 8 +- stdlib/source/lux/target/jvm/constant.lux | 14 +-- stdlib/source/lux/target/jvm/constant/pool.lux | 4 +- stdlib/source/lux/target/jvm/index.lux | 6 +- stdlib/source/lux/target/jvm/method.lux | 2 +- stdlib/source/lux/target/jvm/modifier.lux | 10 +- stdlib/source/lux/target/jvm/reflection.lux | 95 +++++++++-------- stdlib/source/lux/target/jvm/type.lux | 14 +-- stdlib/source/lux/target/jvm/type/alias.lux | 2 +- stdlib/source/lux/target/jvm/type/descriptor.lux | 2 +- stdlib/source/lux/target/jvm/type/parser.lux | 8 +- stdlib/source/lux/target/jvm/type/reflection.lux | 2 +- stdlib/source/lux/test.lux | 8 +- stdlib/source/lux/time.lux | 2 +- stdlib/source/lux/time/date.lux | 42 ++++---- stdlib/source/lux/time/duration.lux | 4 +- stdlib/source/lux/time/instant.lux | 16 +-- .../source/lux/tool/compiler/default/platform.lux | 6 +- stdlib/source/lux/tool/compiler/language/lux.lux | 2 +- .../lux/tool/compiler/language/lux/analysis.lux | 34 +++--- .../lux/tool/compiler/language/lux/generation.lux | 8 +- .../compiler/language/lux/phase/analysis/case.lux | 4 +- .../language/lux/phase/analysis/case/coverage.lux | 4 +- .../language/lux/phase/analysis/function.lux | 8 +- .../language/lux/phase/analysis/structure.lux | 6 +- .../tool/compiler/language/lux/phase/directive.lux | 4 +- .../language/lux/phase/extension/analysis/jvm.lux | 90 ++++++++-------- .../language/lux/phase/extension/analysis/lux.lux | 8 +- .../lux/phase/extension/generation/js/host.lux | 2 +- .../lux/phase/extension/generation/jvm/host.lux | 20 ++-- .../language/lux/phase/generation/common-lisp.lux | 2 +- .../lux/phase/generation/common-lisp/case.lux | 4 +- .../lux/phase/generation/common-lisp/function.lux | 10 +- .../lux/phase/generation/common-lisp/loop.lux | 2 +- .../lux/phase/generation/common-lisp/structure.lux | 16 +-- .../language/lux/phase/generation/js/case.lux | 4 +- .../language/lux/phase/generation/js/function.lux | 4 +- .../language/lux/phase/generation/js/loop.lux | 4 +- .../language/lux/phase/generation/jvm/debug.lux | 2 +- .../language/lux/phase/generation/jvm/host.lux | 12 +-- .../lux/phase/generation/jvm/reference.lux | 8 +- .../language/lux/phase/generation/jvm/runtime.lux | 2 +- .../lux/phase/generation/jvm/structure.lux | 2 +- .../language/lux/phase/generation/lua/function.lux | 8 +- .../language/lux/phase/generation/lua/loop.lux | 2 +- .../compiler/language/lux/phase/generation/php.lux | 2 +- .../language/lux/phase/generation/php/case.lux | 8 +- .../language/lux/phase/generation/php/function.lux | 4 +- .../language/lux/phase/generation/php/loop.lux | 2 +- .../lux/phase/generation/php/structure.lux | 16 +-- .../lux/phase/generation/python/function.lux | 8 +- .../language/lux/phase/generation/python/loop.lux | 2 +- .../language/lux/phase/generation/reference.lux | 4 +- .../lux/phase/generation/ruby/function.lux | 6 +- .../language/lux/phase/generation/ruby/loop.lux | 2 +- .../language/lux/phase/generation/scheme.lux | 2 +- .../language/lux/phase/generation/scheme/case.lux | 4 +- .../lux/phase/generation/scheme/function.lux | 2 +- .../lux/phase/generation/scheme/structure.lux | 2 +- .../compiler/language/lux/phase/synthesis/case.lux | 4 +- .../language/lux/phase/synthesis/function.lux | 10 +- .../compiler/language/lux/phase/synthesis/loop.lux | 2 +- .../language/lux/phase/synthesis/variable.lux | 10 +- .../lux/tool/compiler/language/lux/syntax.lux | 2 +- .../lux/tool/compiler/language/lux/synthesis.lux | 98 +++++++++--------- .../lux/tool/compiler/meta/archive/artifact.lux | 44 ++++---- .../lux/tool/compiler/meta/archive/descriptor.lux | 2 +- .../lux/tool/compiler/meta/archive/document.lux | 8 +- stdlib/source/lux/tool/compiler/meta/io.lux | 2 +- .../source/lux/tool/compiler/meta/io/archive.lux | 68 ++++++------ .../source/lux/tool/compiler/meta/io/context.lux | 20 ++-- .../source/lux/tool/compiler/meta/packager/jvm.lux | 45 ++++---- .../lux/tool/compiler/meta/packager/script.lux | 12 +-- stdlib/source/lux/tool/compiler/phase.lux | 4 +- stdlib/source/lux/tool/compiler/reference.lux | 4 +- .../lux/tool/compiler/reference/variable.lux | 2 +- stdlib/source/lux/tool/interpreter.lux | 16 +-- stdlib/source/lux/type/abstract.lux | 2 +- stdlib/source/lux/type/check.lux | 2 +- stdlib/source/lux/type/dynamic.lux | 4 +- stdlib/source/lux/type/implicit.lux | 50 ++++----- stdlib/source/lux/type/resource.lux | 12 +-- stdlib/source/lux/type/unit.lux | 4 +- stdlib/source/lux/world/console.lux | 12 +-- stdlib/source/lux/world/db/jdbc.lux | 6 +- stdlib/source/lux/world/file.lux | 54 +++++----- stdlib/source/lux/world/file/watch.lux | 20 ++-- stdlib/source/lux/world/net/http/query.lux | 4 +- stdlib/source/lux/world/net/http/request.lux | 6 +- stdlib/source/lux/world/shell.lux | 32 +++--- stdlib/source/poly/lux/abstract/equivalence.lux | 4 +- stdlib/source/poly/lux/data/format/json.lux | 16 +-- stdlib/source/program/aedifex/artifact.lux | 4 +- stdlib/source/program/aedifex/cache.lux | 44 ++++---- stdlib/source/program/aedifex/cli.lux | 4 +- stdlib/source/program/aedifex/command/auto.lux | 16 +-- stdlib/source/program/aedifex/command/build.lux | 6 +- stdlib/source/program/aedifex/command/clean.lux | 12 +-- stdlib/source/program/aedifex/command/deploy.lux | 6 +- stdlib/source/program/aedifex/command/install.lux | 10 +- stdlib/source/program/aedifex/command/pom.lux | 4 +- stdlib/source/program/aedifex/command/test.lux | 4 +- stdlib/source/program/aedifex/dependency.lux | 2 +- .../program/aedifex/dependency/resolution.lux | 46 ++++----- stdlib/source/program/aedifex/hash.lux | 12 +-- stdlib/source/program/aedifex/input.lux | 14 +-- stdlib/source/program/aedifex/local.lux | 4 +- stdlib/source/program/aedifex/package.lux | 2 +- stdlib/source/program/aedifex/parser.lux | 62 +++++------ stdlib/source/program/aedifex/pom.lux | 6 +- stdlib/source/program/aedifex/project.lux | 4 +- stdlib/source/program/aedifex/repository.lux | 20 ++-- stdlib/source/program/compositor.lux | 16 +-- stdlib/source/program/compositor/export.lux | 10 +- stdlib/source/program/compositor/import.lux | 4 +- stdlib/source/program/licentia.lux | 8 +- stdlib/source/program/scriptum.lux | 4 +- stdlib/source/spec/aedifex/repository.lux | 10 +- stdlib/source/spec/compositor/common.lux | 11 +- stdlib/source/spec/compositor/generation/case.lux | 8 +- .../source/spec/compositor/generation/common.lux | 6 +- .../source/spec/compositor/generation/function.lux | 2 +- .../spec/compositor/generation/reference.lux | 2 +- .../spec/compositor/generation/structure.lux | 6 +- stdlib/source/spec/lux/abstract/apply.lux | 10 +- stdlib/source/spec/lux/abstract/comonad.lux | 18 ++-- stdlib/source/spec/lux/abstract/functor.lux | 10 +- stdlib/source/spec/lux/abstract/monad.lux | 18 ++-- stdlib/source/spec/lux/world/console.lux | 10 +- stdlib/source/spec/lux/world/shell.lux | 14 +-- stdlib/source/test/aedifex/artifact.lux | 4 +- stdlib/source/test/aedifex/cache.lux | 24 ++--- stdlib/source/test/aedifex/cli.lux | 4 +- stdlib/source/test/aedifex/command/auto.lux | 14 +-- stdlib/source/test/aedifex/command/build.lux | 4 +- stdlib/source/test/aedifex/command/clean.lux | 8 +- stdlib/source/test/aedifex/command/deploy.lux | 42 ++++---- stdlib/source/test/aedifex/command/deps.lux | 10 +- stdlib/source/test/aedifex/command/install.lux | 22 ++-- stdlib/source/test/aedifex/command/pom.lux | 10 +- stdlib/source/test/aedifex/command/test.lux | 4 +- .../source/test/aedifex/dependency/resolution.lux | 68 ++++++------ stdlib/source/test/aedifex/hash.lux | 18 ++-- stdlib/source/test/aedifex/input.lux | 12 +-- stdlib/source/test/aedifex/local.lux | 2 +- stdlib/source/test/aedifex/package.lux | 16 +-- stdlib/source/test/aedifex/parser.lux | 14 +-- stdlib/source/test/aedifex/pom.lux | 8 +- stdlib/source/test/aedifex/profile.lux | 14 +-- stdlib/source/test/aedifex/project.lux | 10 +- stdlib/source/test/aedifex/repository.lux | 4 +- stdlib/source/test/licentia.lux | 10 +- stdlib/source/test/lux.lux | 2 +- stdlib/source/test/lux/abstract/apply.lux | 6 +- stdlib/source/test/lux/abstract/codec.lux | 2 +- stdlib/source/test/lux/abstract/comonad/cofree.lux | 8 +- stdlib/source/test/lux/abstract/enum.lux | 10 +- stdlib/source/test/lux/abstract/equivalence.lux | 48 ++++----- stdlib/source/test/lux/abstract/fold.lux | 2 +- stdlib/source/test/lux/abstract/functor.lux | 24 ++--- stdlib/source/test/lux/abstract/interval.lux | 48 ++++----- stdlib/source/test/lux/abstract/monad.lux | 42 ++++---- stdlib/source/test/lux/abstract/monad/free.lux | 6 +- stdlib/source/test/lux/abstract/monoid.lux | 8 +- stdlib/source/test/lux/abstract/order.lux | 14 +-- stdlib/source/test/lux/abstract/predicate.lux | 2 +- .../source/test/lux/control/concurrency/actor.lux | 6 +- stdlib/source/test/lux/control/concurrency/frp.lux | 14 +-- .../test/lux/control/concurrency/promise.lux | 2 +- .../test/lux/control/concurrency/semaphore.lux | 12 +-- stdlib/source/test/lux/control/concurrency/stm.lux | 14 +-- .../source/test/lux/control/concurrency/thread.lux | 2 +- stdlib/source/test/lux/control/exception.lux | 2 +- stdlib/source/test/lux/control/function.lux | 6 +- stdlib/source/test/lux/control/function/memo.lux | 4 +- stdlib/source/test/lux/control/function/mixin.lux | 2 +- stdlib/source/test/lux/control/parser.lux | 64 ++++++------ stdlib/source/test/lux/control/parser/analysis.lux | 4 +- stdlib/source/test/lux/control/parser/binary.lux | 66 ++++++------ stdlib/source/test/lux/control/parser/cli.lux | 2 +- stdlib/source/test/lux/control/parser/code.lux | 24 ++--- .../source/test/lux/control/parser/environment.lux | 4 +- stdlib/source/test/lux/control/parser/json.lux | 42 ++++---- .../source/test/lux/control/parser/synthesis.lux | 50 ++++----- stdlib/source/test/lux/control/parser/text.lux | 82 +++++++-------- stdlib/source/test/lux/control/parser/type.lux | 4 +- stdlib/source/test/lux/control/region.lux | 2 +- stdlib/source/test/lux/control/security/policy.lux | 20 ++-- stdlib/source/test/lux/control/state.lux | 2 +- stdlib/source/test/lux/control/thread.lux | 6 +- stdlib/source/test/lux/control/try.lux | 2 +- stdlib/source/test/lux/control/writer.lux | 2 +- stdlib/source/test/lux/data/binary.lux | 22 ++-- stdlib/source/test/lux/data/bit.lux | 4 +- stdlib/source/test/lux/data/collection/array.lux | 40 ++++---- stdlib/source/test/lux/data/collection/bits.lux | 18 ++-- .../source/test/lux/data/collection/dictionary.lux | 14 +-- .../lux/data/collection/dictionary/ordered.lux | 2 +- .../test/lux/data/collection/dictionary/plist.lux | 12 +-- stdlib/source/test/lux/data/collection/list.lux | 46 ++++----- stdlib/source/test/lux/data/collection/queue.lux | 22 ++-- .../test/lux/data/collection/queue/priority.lux | 2 +- stdlib/source/test/lux/data/collection/row.lux | 10 +- .../source/test/lux/data/collection/sequence.lux | 12 +-- stdlib/source/test/lux/data/collection/set.lux | 20 ++-- .../source/test/lux/data/collection/set/multi.lux | 28 ++--- .../test/lux/data/collection/set/ordered.lux | 40 ++++---- stdlib/source/test/lux/data/collection/stack.lux | 8 +- stdlib/source/test/lux/data/collection/tree.lux | 48 ++++----- .../test/lux/data/collection/tree/finger.lux | 56 +++++----- .../test/lux/data/collection/tree/zipper.lux | 2 +- stdlib/source/test/lux/data/color.lux | 34 +++--- stdlib/source/test/lux/data/color/named.lux | 4 +- stdlib/source/test/lux/data/format/binary.lux | 2 +- stdlib/source/test/lux/data/format/json.lux | 26 ++--- stdlib/source/test/lux/data/format/tar.lux | 16 +-- stdlib/source/test/lux/data/format/xml.lux | 2 +- stdlib/source/test/lux/data/lazy.lux | 4 +- stdlib/source/test/lux/data/maybe.lux | 6 +- stdlib/source/test/lux/data/name.lux | 8 +- stdlib/source/test/lux/data/number.lux | 6 +- stdlib/source/test/lux/data/number/complex.lux | 12 +-- stdlib/source/test/lux/data/number/frac.lux | 12 +-- stdlib/source/test/lux/data/number/i16.lux | 6 +- stdlib/source/test/lux/data/number/i32.lux | 6 +- stdlib/source/test/lux/data/number/i64.lux | 8 +- stdlib/source/test/lux/data/number/i8.lux | 6 +- stdlib/source/test/lux/data/number/ratio.lux | 2 +- stdlib/source/test/lux/data/sum.lux | 38 +++---- stdlib/source/test/lux/data/text.lux | 56 +++++----- stdlib/source/test/lux/host.js.lux | 10 +- stdlib/source/test/lux/host.jvm.lux | 10 +- stdlib/source/test/lux/host.old.lux | 4 +- stdlib/source/test/lux/locale/language.lux | 2 +- stdlib/source/test/lux/locale/territory.lux | 2 +- stdlib/source/test/lux/macro/code.lux | 36 +++---- stdlib/source/test/lux/macro/poly/equivalence.lux | 4 +- stdlib/source/test/lux/macro/poly/json.lux | 4 +- stdlib/source/test/lux/macro/syntax.lux | 2 +- stdlib/source/test/lux/macro/syntax/common.lux | 16 +-- stdlib/source/test/lux/macro/template.lux | 6 +- stdlib/source/test/lux/math.lux | 8 +- stdlib/source/test/lux/math/logic/fuzzy.lux | 2 +- stdlib/source/test/lux/math/modular.lux | 4 +- stdlib/source/test/lux/meta.lux | 22 ++-- stdlib/source/test/lux/meta/annotation.lux | 18 ++-- stdlib/source/test/lux/target/jvm.lux | 48 ++++----- stdlib/source/test/lux/time/date.lux | 4 +- stdlib/source/test/lux/time/duration.lux | 6 +- stdlib/source/test/lux/time/instant.lux | 2 +- .../compiler/language/lux/phase/analysis/case.lux | 14 +-- .../language/lux/phase/analysis/function.lux | 6 +- .../language/lux/phase/analysis/structure.lux | 24 ++--- .../language/lux/phase/extension/analysis/lux.lux | 30 +++--- .../compiler/language/lux/phase/synthesis/case.lux | 30 +++--- .../language/lux/phase/synthesis/function.lux | 24 ++--- .../compiler/language/lux/phase/synthesis/loop.lux | 36 +++---- .../language/lux/phase/synthesis/structure.lux | 6 +- .../language/lux/phase/synthesis/variable.lux | 20 ++-- .../test/lux/tool/compiler/language/lux/syntax.lux | 10 +- stdlib/source/test/lux/type.lux | 30 +++--- stdlib/source/test/lux/type/check.lux | 10 +- stdlib/source/test/lux/type/implicit.lux | 22 ++-- stdlib/source/test/lux/world/file.lux | 114 ++++++++++----------- stdlib/source/test/lux/world/file/watch.lux | 32 +++--- stdlib/source/test/lux/world/shell.lux | 12 +-- 348 files changed, 2424 insertions(+), 2395 deletions(-) (limited to 'stdlib/source') diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux index 639d9ab09..a5ee64cab 100644 --- a/stdlib/source/lux.lux +++ b/stdlib/source/lux.lux @@ -4375,9 +4375,9 @@ "(open: ''i:.'' number)" __paragraph "## Will generate:" ..new-line - "(def: i:+ (:: number +))" ..new-line - "(def: i:- (:: number -))" ..new-line - "(def: i:* (:: number *))" ..new-line + "(def: i:+ (\ number +))" ..new-line + "(def: i:- (\ number -))" ..new-line + "(def: i:* (\ number *))" ..new-line "..."))} (case tokens (^ (list [_ (#Text alias)] struct)) @@ -4586,13 +4586,13 @@ (~ =imports)))]] (wrap (#Cons =module =refers)))) -(macro: #export (:: tokens) +(macro: #export (\ tokens) {#.doc (text$ ($_ "lux text concat" "## Allows accessing the value of a structure's member." ..new-line - "(:: codec encode)" + "(\ codec encode)" __paragraph "## Also allows using that value as a function." ..new-line - "(:: codec encode +123)"))} + "(\ codec encode +123)"))} (case tokens (^ (list struct [_ (#Identifier member)])) (return (list (` (let [(^open ".") (~ struct)] (~ (identifier$ member)))))) @@ -5172,8 +5172,8 @@ (with-expansions [ (template [ ] [(compare ) - (compare (:: Code/encode encode )) - (compare #1 (:: equivalence = ))] + (compare (\ Code/encode encode )) + (compare #1 (\ equivalence = ))] [(bit #1) "#1" [_ (#.Bit #1)]] [(bit #0) "#0" [_ (#.Bit #0)]] @@ -5281,7 +5281,7 @@ (wrap [meta (#Record =pairs)])) _ - (:: meta-monad return token) + (\ meta-monad return token) )) (macro: #export (static tokens) @@ -5468,7 +5468,7 @@ (macro: #export (^@ tokens) {#.doc (doc "Allows you to simultaneously bind and de-structure a value." (def: (hash (^@ set [Hash _])) - (list\fold (function (_ elem acc) (+ (:: Hash hash elem) acc)) + (list\fold (function (_ elem acc) (+ (\ Hash hash elem) acc)) 0 (to-list set))))} (case tokens diff --git a/stdlib/source/lux/abstract/apply.lux b/stdlib/source/lux/abstract/apply.lux index febf31a73..21d3fb2df 100644 --- a/stdlib/source/lux/abstract/apply.lux +++ b/stdlib/source/lux/abstract/apply.lux @@ -23,14 +23,14 @@ (def: (apply fgf fgx) ## TODO: Switch from this version to the one below (in comments) ASAP. - (let [fgf' (:: f-apply apply - (:: f-monad wrap (:: g-apply apply)) - fgf)] - (:: f-apply apply fgf' fgx)) - ## (let [applyF (:: f-apply apply) - ## applyG (:: g-apply apply)] + (let [fgf' (\ f-apply apply + (\ f-monad wrap (\ g-apply apply)) + fgf)] + (\ f-apply apply fgf' fgx)) + ## (let [applyF (\ f-apply apply) + ## applyG (\ g-apply apply)] ## ($_ applyF - ## (:: f-monad wrap applyG) + ## (\ f-monad wrap applyG) ## fgf ## fgx)) )) diff --git a/stdlib/source/lux/abstract/codec.lux b/stdlib/source/lux/abstract/codec.lux index 2a5048cf3..ad59ce450 100644 --- a/stdlib/source/lux/abstract/codec.lux +++ b/stdlib/source/lux/abstract/codec.lux @@ -19,10 +19,10 @@ (-> (Codec c b) (Codec b a) (Codec c a))) (def: encode - (|>> (:: ba-codec encode) - (:: cb-codec encode))) + (|>> (\ ba-codec encode) + (\ cb-codec encode))) (def: (decode cy) (do try.monad - [by (:: cb-codec decode cy)] - (:: ba-codec decode by)))) + [by (\ cb-codec decode cy)] + (\ ba-codec decode by)))) diff --git a/stdlib/source/lux/abstract/comonad/cofree.lux b/stdlib/source/lux/abstract/comonad/cofree.lux index eadfa788f..8e43cd9bf 100644 --- a/stdlib/source/lux/abstract/comonad/cofree.lux +++ b/stdlib/source/lux/abstract/comonad/cofree.lux @@ -12,7 +12,7 @@ (All [F] (-> (Functor F) (Functor (CoFree F)))) (def: (map f [head tail]) - [(f head) (:: dsl map (map f) tail)])) + [(f head) (\ dsl map (map f) tail)])) (structure: #export (comonad dsl) (All [F] (-> (Functor F) (CoMonad (CoFree F)))) @@ -24,4 +24,4 @@ (def: (split [head tail]) [[head tail] - (:: dsl map split tail)])) + (\ dsl map split tail)])) diff --git a/stdlib/source/lux/abstract/equivalence.lux b/stdlib/source/lux/abstract/equivalence.lux index d65e101a8..a467f0b50 100644 --- a/stdlib/source/lux/abstract/equivalence.lux +++ b/stdlib/source/lux/abstract/equivalence.lux @@ -15,10 +15,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)))) @@ -27,8 +27,8 @@ (All [l r] (-> (Equivalence l) (Equivalence r) (Equivalence [l r]))) (structure (def: (= [a b] [x y]) - (and (:: left = a x) - (:: right = b y))))) + (and (\ left = a x) + (\ right = b y))))) (def: #export (rec sub) (All [a] (-> (-> (Equivalence a) (Equivalence a)) (Equivalence a))) @@ -42,4 +42,4 @@ (def: (map f equivalence) (structure (def: (= reference sample) - (:: equivalence = (f reference) (f sample)))))) + (\ equivalence = (f reference) (f sample)))))) diff --git a/stdlib/source/lux/abstract/hash.lux b/stdlib/source/lux/abstract/hash.lux index df2dd2e27..f22bdc62a 100644 --- a/stdlib/source/lux/abstract/hash.lux +++ b/stdlib/source/lux/abstract/hash.lux @@ -15,25 +15,25 @@ (All [l r] (-> (Hash l) (Hash r) (Hash (| l r)))) (structure (def: &equivalence - (equivalence.sum (:: left &equivalence) - (:: right &equivalence))) + (equivalence.sum (\ left &equivalence) + (\ right &equivalence))) (def: (hash value) (<| (:coerce Nat) (case value (#.Left value) - ("lux i64 *" +2 (:coerce Int (:: left hash value))) + ("lux i64 *" +2 (:coerce Int (\ left hash value))) (#.Right value) - ("lux i64 *" +3 (:coerce Int (:: right hash value)))))))) + ("lux i64 *" +3 (:coerce Int (\ right hash value)))))))) (def: #export (product left right) (All [l r] (-> (Hash l) (Hash r) (Hash (& l r)))) (structure (def: &equivalence - (equivalence.product (:: left &equivalence) - (:: right &equivalence))) + (equivalence.product (\ left &equivalence) + (\ right &equivalence))) (def: (hash [leftV rightV]) (:coerce Nat ("lux i64 +" - (:coerce Int (:: left hash leftV)) - (:coerce Int (:: right hash rightV))))))) + (:coerce Int (\ left hash leftV)) + (:coerce Int (\ right hash rightV))))))) diff --git a/stdlib/source/lux/abstract/interval.lux b/stdlib/source/lux/abstract/interval.lux index c429fa5c8..b1b026440 100644 --- a/stdlib/source/lux/abstract/interval.lux +++ b/stdlib/source/lux/abstract/interval.lux @@ -75,14 +75,14 @@ (def: #export (union left right) (All [a] (-> (Interval a) (Interval a) (Interval a))) (structure (def: &enum (get@ #&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))))) (def: #export (intersection left right) (All [a] (-> (Interval a) (Interval a) (Interval a))) (structure (def: &enum (get@ #&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))))) (def: #export (complement interval) (All [a] (-> (Interval a) (Interval a))) @@ -94,9 +94,9 @@ (def: #export (precedes? reference sample) (All [a] (-> (Interval a) (Interval a) Bit)) (let [(^open ".") reference - limit (:: reference bottom)] - (and (< limit (:: sample bottom)) - (< limit (:: sample top))))) + limit (\ reference bottom)] + (and (< limit (\ sample bottom)) + (< limit (\ sample top))))) (def: #export (succeeds? reference sample) (All [a] (-> (Interval a) (Interval a) Bit)) @@ -116,9 +116,9 @@ (def: #export (meets? reference sample) (All [a] (-> (Interval a) (Interval a) Bit)) (let [(^open ",\.") reference - limit (:: reference bottom)] - (and (,\= limit (:: sample top)) - (order.<= ,\&order limit (:: sample bottom))))) + limit (\ reference bottom)] + (and (,\= limit (\ sample top)) + (order.<= ,\&order limit (\ sample bottom))))) (def: #export (touches? reference sample) (All [a] (-> (Interval a) (Interval a) Bit)) @@ -129,11 +129,11 @@ [(def: #export ( reference sample) (All [a] (-> (Interval a) (Interval a) Bit)) (let [(^open ",\.") reference] - (and (,\= (:: reference ) - (:: sample )) + (and (,\= (\ reference ) + (\ sample )) ( ,\&order - (:: reference ) - (:: sample )))))] + (\ reference ) + (\ sample )))))] [starts? ,\bottom order.<= ,\top] [finishes? ,\top order.>= ,\bottom] @@ -142,8 +142,8 @@ (structure: #export equivalence (All [a] (Equivalence (Interval a))) (def: (= reference sample) (let [(^open ",\.") reference] - (and (,\= ,\bottom (:: sample bottom)) - (,\= ,\top (:: sample top)))))) + (and (,\= ,\bottom (\ sample bottom)) + (,\= ,\top (\ sample top)))))) (def: #export (nested? reference sample) (All [a] (-> (Interval a) (Interval a) Bit)) @@ -151,8 +151,8 @@ (and (inner? reference) (inner? sample)) (and (outer? reference) (outer? sample))) (let [(^open ",\.") reference] - (and (order.>= ,\&order (:: reference bottom) (:: sample bottom)) - (order.<= ,\&order (:: reference top) (:: sample top)))) + (and (order.>= ,\&order (\ reference bottom) (\ sample bottom)) + (order.<= ,\&order (\ reference top) (\ sample top)))) (or (singleton? reference) (and (inner? reference) (outer? sample))) @@ -160,16 +160,16 @@ ## (and (outer? reference) (inner? sample)) (let [(^open ",\.") 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))))) + (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: #export (overlaps? reference sample) (All [a] (-> (Interval a) (Interval a) Bit)) (let [(^open ",\.") reference] - (and (not (:: ..equivalence = reference sample)) + (and (not (\ ..equivalence = reference sample)) (cond (singleton? sample) #0 @@ -178,8 +178,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/lux/abstract/monad.lux b/stdlib/source/lux/abstract/monad.lux index 052191e66..1d7c67401 100644 --- a/stdlib/source/lux/abstract/monad.lux +++ b/stdlib/source/lux/abstract/monad.lux @@ -110,8 +110,8 @@ (All [! a b] (-> (Monad !) (-> a (! b)) (-> (! a) (! b)))) - (|>> (:: monad map f) - (:: monad join))) + (|>> (\ monad map f) + (\ monad join))) (def: #export (seq monad) {#.doc "Run all the monadic values in the list and produce a list of the base values."} @@ -175,7 +175,7 @@ (M a))) (case xs #.Nil - (:: monad wrap init) + (\ monad wrap init) (#.Cons x xs') (do monad diff --git a/stdlib/source/lux/abstract/monad/free.lux b/stdlib/source/lux/abstract/monad/free.lux index 5194963b4..3eb01064d 100644 --- a/stdlib/source/lux/abstract/monad/free.lux +++ b/stdlib/source/lux/abstract/monad/free.lux @@ -19,7 +19,7 @@ (#Pure (f a)) (#Effect value) - (#Effect (:: dsl map (map f) value))))) + (#Effect (\ dsl map (map f) value))))) (structure: #export (apply dsl) (All [F] (-> (Functor F) (Apply (Free F)))) @@ -32,14 +32,14 @@ (#Pure (f a)) [(#Pure f) (#Effect fa)] - (#Effect (:: dsl map - (:: (..functor dsl) map f) - fa)) + (#Effect (\ dsl map + (\ (..functor dsl) map f) + fa)) [(#Effect ff) _] - (#Effect (:: dsl map - (function (_ f) (apply f ea)) - ff)) + (#Effect (\ dsl map + (function (_ f) (apply f ea)) + ff)) ))) (structure: #export (monad dsl) @@ -61,7 +61,7 @@ (#Effect fa)) (#Effect fefa) - (#Effect (:: dsl map - (:: (monad dsl) join) - fefa)) + (#Effect (\ dsl map + (\ (monad dsl) join) + fefa)) ))) diff --git a/stdlib/source/lux/abstract/monad/indexed.lux b/stdlib/source/lux/abstract/monad/indexed.lux index 14bbf75f0..4e6f51942 100644 --- a/stdlib/source/lux/abstract/monad/indexed.lux +++ b/stdlib/source/lux/abstract/monad/indexed.lux @@ -45,11 +45,11 @@ (def: named-monad (Parser [(Maybe Text) Code]) - (p.either (s.record (p.and (:: p.monad map (|>> #.Some) - s.local-identifier) + (p.either (s.record (p.and (\ p.monad map (|>> #.Some) + s.local-identifier) s.any)) - (:: p.monad map (|>> [#.None]) - s.any))) + (\ p.monad map (|>> [#.None]) + s.any))) (syntax: #export (do {[?name monad] ..named-monad} {context (s.tuple (p.some context))} diff --git a/stdlib/source/lux/abstract/monoid.lux b/stdlib/source/lux/abstract/monoid.lux index 7f4254af3..c87cf8b40 100644 --- a/stdlib/source/lux/abstract/monoid.lux +++ b/stdlib/source/lux/abstract/monoid.lux @@ -13,8 +13,8 @@ (All [l r] (-> (Monoid l) (Monoid r) (Monoid [l r]))) (structure (def: identity - [(:: left identity) (:: right identity)]) + [(\ left identity) (\ right identity)]) (def: (compose [lL rL] [lR rR]) - [(:: left compose lL lR) - (:: right compose rL rR)]))) + [(\ left compose lL lR) + (\ right compose rL rR)]))) diff --git a/stdlib/source/lux/abstract/order.lux b/stdlib/source/lux/abstract/order.lux index dad99b8b4..21f5739d2 100644 --- a/stdlib/source/lux/abstract/order.lux +++ b/stdlib/source/lux/abstract/order.lux @@ -22,28 +22,28 @@ (def: #export (<= order parameter subject) Comparison - (or (:: order < parameter subject) - (:: order = parameter subject))) + (or (\ order < parameter subject) + (\ order = parameter subject))) (def: #export (> order parameter subject) Comparison - (:: order < subject parameter)) + (\ order < subject parameter)) (def: #export (>= order parameter subject) Comparison - (or (:: order < subject parameter) - (:: order = subject parameter))) + (or (\ order < subject parameter) + (\ order = subject parameter))) (type: #export (Choice a) (-> (Order a) a a a)) (def: #export (min order x y) Choice - (if (:: order < y x) x y)) + (if (\ order < y x) x y)) (def: #export (max order x y) Choice - (if (:: order < y x) y x)) + (if (\ order < y x) y x)) (structure: #export functor (contravariant.Functor Order) @@ -51,7 +51,7 @@ (def: (map f order) (structure (def: &equivalence - (:: equivalence.functor map f (:: order &equivalence))) + (\ equivalence.functor map f (\ order &equivalence))) (def: (< reference sample) - (:: order < (f reference) (f sample)))))) + (\ order < (f reference) (f sample)))))) diff --git a/stdlib/source/lux/control/concurrency/actor.lux b/stdlib/source/lux/control/concurrency/actor.lux index 97c080273..f9ab10327 100644 --- a/stdlib/source/lux/control/concurrency/actor.lux +++ b/stdlib/source/lux/control/concurrency/actor.lux @@ -53,8 +53,8 @@ [current (promise.poll read)] (case current (#.Some [head tail]) - (:: ! map (|>> (#.Cons head)) - (pending tail)) + (\ ! map (|>> (#.Cons head)) + (pending tail)) #.None (wrap #.Nil)))) @@ -111,12 +111,12 @@ (let [[obituary _] (get@ #obituary (:representation actor))] (|> obituary promise.poll - (:: io.functor map - (|>> (case> #.None - yes + (\ io.functor map + (|>> (case> #.None + yes - _ - no)))))) + _ + no)))))) (def: #export (obituary actor) (All [s] (-> (Actor s) (IO (Maybe (Obituary s))))) @@ -219,7 +219,7 @@ (def: actor-decl^ (Parser [Text (List Text)]) (<>.either (.form (<>.and .local-identifier (<>.some .local-identifier))) - (<>.and .local-identifier (:: <>.monad wrap (list))))) + (<>.and .local-identifier (\ <>.monad wrap (list))))) (type: On-MailC [[Text Text Text] Code]) @@ -288,10 +288,10 @@ Nat ((on-stop cause state) - (:: promise.monad wrap - (log! (if (exception.match? ..poisoned cause) - (format "Counter was poisoned: " (%.nat state)) - cause)))) + (\ promise.monad wrap + (log! (if (exception.match? ..poisoned cause) + (format "Counter was poisoned: " (%.nat state)) + cause)))) (message: #export (count! {increment Nat} state self Any) (let [state' (n.+ increment state)] @@ -357,7 +357,7 @@ (def: reference^ (Parser [Name (List Text)]) (<>.either (.form (<>.and .identifier (<>.some .local-identifier))) - (<>.and .identifier (:: <>.monad wrap (list))))) + (<>.and .identifier (\ <>.monad wrap (list))))) (syntax: #export (message: {export csr.export} diff --git a/stdlib/source/lux/control/concurrency/frp.lux b/stdlib/source/lux/control/concurrency/frp.lux index f4dbffe81..4709a0cad 100644 --- a/stdlib/source/lux/control/concurrency/frp.lux +++ b/stdlib/source/lux/control/concurrency/frp.lux @@ -134,7 +134,7 @@ [?ma ma] (case ?ma (#.Some [a ma']) - (exec (io.run (:: sink feed a)) + (exec (io.run (\ sink feed a)) (recur ma')) #.None @@ -142,7 +142,7 @@ (recur mma')) #.None - (wrap (: Any (io.run (:: sink close)))))))) + (wrap (: Any (io.run (\ sink close)))))))) output)))) (type: #export (Subscriber a) @@ -226,7 +226,7 @@ (exec (io.run (loop [_ []] (do io.monad [value action - _ (:: sink feed value)] + _ (\ sink feed value)] (promise.await recur (promise.wait milli-seconds))))) [output sink]))) @@ -251,7 +251,7 @@ [cons channel] (case cons (#.Some [head tail]) - (if (:: equivalence = previous head) + (if (\ equivalence = previous head) (distinct' equivalence previous tail) (wrap (#.Some [head (distinct' equivalence head tail)]))) @@ -276,8 +276,8 @@ [cons channel] (case cons (#.Some [head tail]) - (:: ! map (|>> (#.Cons head)) - (consume tail)) + (\ ! map (|>> (#.Cons head)) + (consume tail)) #.None (wrap #.Nil)))) diff --git a/stdlib/source/lux/control/concurrency/promise.lux b/stdlib/source/lux/control/concurrency/promise.lux index 017ad67a8..e4835b8d8 100644 --- a/stdlib/source/lux/control/concurrency/promise.lux +++ b/stdlib/source/lux/control/concurrency/promise.lux @@ -60,7 +60,7 @@ (All [a] (-> (Promise a) (IO (Maybe a)))) (|>> :representation atom.read - (:: io.functor map product.left))) + (\ io.functor map product.left))) (def: #export (await f promise) (All [a] (-> (-> a (IO Any)) (Promise a) (IO Any))) @@ -81,12 +81,12 @@ {#.doc "Checks whether a promise's value has already been resolved."} (All [a] (-> (Promise a) (IO Bit))) (|>> ..poll - (:: io.functor map - (|>> (case> #.None - #0 + (\ io.functor map + (|>> (case> #.None + #0 - (#.Some _) - #1))))) + (#.Some _) + #1))))) (structure: #export functor (Functor Promise) diff --git a/stdlib/source/lux/control/concurrency/semaphore.lux b/stdlib/source/lux/control/concurrency/semaphore.lux index 36ac7cd34..a405b7b3e 100644 --- a/stdlib/source/lux/control/concurrency/semaphore.lux +++ b/stdlib/source/lux/control/concurrency/semaphore.lux @@ -32,7 +32,7 @@ {#.doc "A tool for controlling access to resources by multiple concurrent processes."} (def: most-positions-possible - (.nat (:: i.interval top))) + (.nat (\ i.interval top))) (def: #export (semaphore initial-open-positions) (-> Nat Semaphore) @@ -163,7 +163,7 @@ (do promise.monad [_ (..signal turnstile)] (recur (inc step))) - (:: promise.monad wrap [])))) + (\ promise.monad wrap [])))) (template [ ] [(def: ( (^:representation barrier)) diff --git a/stdlib/source/lux/control/concurrency/stm.lux b/stdlib/source/lux/control/concurrency/stm.lux index d5684cf97..523aa5567 100644 --- a/stdlib/source/lux/control/concurrency/stm.lux +++ b/stdlib/source/lux/control/concurrency/stm.lux @@ -54,7 +54,7 @@ (do ! [_ (monad.map ! (function (_ sink) (do ! - [result (:: sink feed new-value)] + [result (\ sink feed new-value)] (case result (#try.Success _) (wrap []) @@ -94,8 +94,8 @@ (list.find (function (_ [_var _original _current]) (is? (:coerce (Var Any) var) (:coerce (Var Any) _var)))) - (:: maybe.monad map (function (_ [_var _original _current]) - _current)) + (\ maybe.monad map (function (_ [_var _original _current]) + _current)) (:assume) )) diff --git a/stdlib/source/lux/control/parser.lux b/stdlib/source/lux/control/parser.lux index 7397d03e0..1cb4e2298 100644 --- a/stdlib/source/lux/control/parser.lux +++ b/stdlib/source/lux/control/parser.lux @@ -102,8 +102,8 @@ (#try.Success [input (list)]) (#try.Success [input' head]) - (run (:: ..monad map (|>> (list& head)) - (some parser)) + (run (\ ..monad map (|>> (list& head)) + (some parser)) input')))) (def: #export (many parser) @@ -112,8 +112,8 @@ (-> (Parser s a) (Parser s (List a)))) (do {! ..monad} [head parser] - (:: ! map (|>> (list& head)) - (some parser)))) + (\ ! map (|>> (list& head)) + (some parser)))) (def: #export (and p1 p2) {#.doc "Sequencing combinator."} @@ -161,7 +161,7 @@ [x p xs (exactly (dec n) p)] (wrap (#.Cons x xs))) - (:: ..monad wrap (list)))) + (\ ..monad wrap (list)))) (def: #export (at-least n p) {#.doc "Parse at least N times."} @@ -186,7 +186,7 @@ (wrap (#.Cons x xs))) input') )) - (:: ..monad wrap (list)))) + (\ ..monad wrap (list)))) (def: #export (between from to p) {#.doc "Parse between N and M times."} @@ -194,7 +194,7 @@ (do ..monad [min-xs (exactly from p) max-xs (at-most (n.- from to) p)] - (wrap (:: list.monad join (list min-xs max-xs))))) + (wrap (\ list.monad join (list min-xs max-xs))))) (def: #export (sep-by sep p) {#.doc "Parsers instances of 'p' that are separated by instances of 'sep'."} @@ -316,7 +316,7 @@ (#try.Failure error) (#try.Success [input' to-decode]) - (case (:: codec decode to-decode) + (case (\ codec decode to-decode) (#try.Failure error) (#try.Failure error) diff --git a/stdlib/source/lux/control/parser/analysis.lux b/stdlib/source/lux/control/parser/analysis.lux index 6105b5f5a..9b4a14d86 100644 --- a/stdlib/source/lux/control/parser/analysis.lux +++ b/stdlib/source/lux/control/parser/analysis.lux @@ -102,7 +102,7 @@ (function (_ input) (case input (^ (list& ( actual) input')) - (if (:: = expected actual) + (if (\ = expected actual) (#try.Success [input' []]) (exception.throw ..cannot-parse input)) diff --git a/stdlib/source/lux/control/parser/binary.lux b/stdlib/source/lux/control/parser/binary.lux index 3d1d30564..6f262f9d2 100644 --- a/stdlib/source/lux/control/parser/binary.lux +++ b/stdlib/source/lux/control/parser/binary.lux @@ -107,7 +107,7 @@ ..bits/8)] (`` (case flag (^template [ ] - [ (:: ! map (|>> ) )]) + [ (\ ! map (|>> ) )]) ((~~ (template.splice +))) _ (//.lift (exception.throw ..invalid-tag [(~~ (template.count +)) flag])))))) diff --git a/stdlib/source/lux/control/parser/cli.lux b/stdlib/source/lux/control/parser/cli.lux index e89b77a16..de654eb24 100644 --- a/stdlib/source/lux/control/parser/cli.lux +++ b/stdlib/source/lux/control/parser/cli.lux @@ -133,7 +133,7 @@ (wrap []))) (program: [name] - (io (log! (:: text.monoid compose "Hello, " name)))) + (io (log! (\ text.monoid compose "Hello, " name)))) (program: [{config config^}] (do io.monad diff --git a/stdlib/source/lux/control/parser/code.lux b/stdlib/source/lux/control/parser/code.lux index 2df442a8f..9dc99e49a 100644 --- a/stdlib/source/lux/control/parser/code.lux +++ b/stdlib/source/lux/control/parser/code.lux @@ -63,7 +63,7 @@ (function (_ tokens) (case tokens (#.Cons [[_ ( actual)] tokens']) - (if (:: = expected actual) + (if (\ = expected actual) (#try.Success [tokens' []]) ) @@ -112,7 +112,7 @@ (function (_ tokens) (case tokens (#.Cons [[_ ( ["" actual])] tokens']) - (if (:: = expected actual) + (if (\ = expected actual) (#try.Success [tokens' []]) ) diff --git a/stdlib/source/lux/control/parser/environment.lux b/stdlib/source/lux/control/parser/environment.lux index 7f3630dd1..fbe256c24 100644 --- a/stdlib/source/lux/control/parser/environment.lux +++ b/stdlib/source/lux/control/parser/environment.lux @@ -36,4 +36,4 @@ (def: #export (run parser environment) (All [a] (-> (Parser a) /.Environment (Try a))) - (:: try.monad map product.right (parser environment))) + (\ try.monad map product.right (parser environment))) diff --git a/stdlib/source/lux/control/parser/json.lux b/stdlib/source/lux/control/parser/json.lux index fe82104d0..a7cf8fa9f 100644 --- a/stdlib/source/lux/control/parser/json.lux +++ b/stdlib/source/lux/control/parser/json.lux @@ -91,7 +91,7 @@ [head ..any] (case head ( value) - (wrap (:: = test value)) + (wrap (\ = test value)) _ (//.fail (exception.construct ..unexpected-value [head]))))) @@ -103,7 +103,7 @@ [head ..any] (case head ( value) - (if (:: = test value) + (if (\ = test value) (wrap []) (//.fail (exception.construct ..value-mismatch [( test) ( value)]))) diff --git a/stdlib/source/lux/control/parser/synthesis.lux b/stdlib/source/lux/control/parser/synthesis.lux index cdca47d1c..be67d76d8 100644 --- a/stdlib/source/lux/control/parser/synthesis.lux +++ b/stdlib/source/lux/control/parser/synthesis.lux @@ -106,7 +106,7 @@ (.function (_ input) (case input (^ (list& ( actual) input')) - (if (:: = expected actual) + (if (\ = expected actual) (#try.Success [input' []]) (exception.throw ..cannot-parse input)) diff --git a/stdlib/source/lux/control/parser/text.lux b/stdlib/source/lux/control/parser/text.lux index aede52006..ebcf3c53a 100644 --- a/stdlib/source/lux/control/parser/text.lux +++ b/stdlib/source/lux/control/parser/text.lux @@ -288,7 +288,7 @@ [(def: #export ( parser) {#.doc (code.text ($_ /\compose "Lex " " characters as a single continuous text."))} (-> (Parser Text) (Parser Text)) - (|> parser (:: //.monad map /.concat)))] + (|> parser (\ //.monad map /.concat)))] [some //.some "some"] [many //.many "many"] @@ -308,7 +308,7 @@ [(def: #export ( amount parser) {#.doc (code.text ($_ /\compose "Lex " " N characters."))} (-> Nat (Parser Text) (Parser Text)) - (|> parser ( amount) (:: //.monad map /.concat)))] + (|> parser ( amount) (\ //.monad map /.concat)))] [exactly //.exactly "exactly"] [at-most //.at-most "at most"] @@ -329,7 +329,7 @@ (def: #export (between from to parser) {#.doc "Lex between N and M characters."} (-> Nat Nat (Parser Text) (Parser Text)) - (|> parser (//.between from to) (:: //.monad map /.concat))) + (|> parser (//.between from to) (\ //.monad map /.concat))) (def: #export (between! from to parser) {#.doc "Lex between N and M characters."} diff --git a/stdlib/source/lux/control/parser/type.lux b/stdlib/source/lux/control/parser/type.lux index c9b8a5c96..3ac8f657d 100644 --- a/stdlib/source/lux/control/parser/type.lux +++ b/stdlib/source/lux/control/parser/type.lux @@ -173,7 +173,7 @@ (All [a] (-> (Parser a) (Parser [Code (List Code) a]))) (do {! //.monad} [headT any - funcI (:: ! map dictionary.size ..env) + funcI (\ ! map dictionary.size ..env) [num-args non-poly] (local (list headT) polymorphic') env ..env #let [funcL (label funcI) diff --git a/stdlib/source/lux/control/parser/xml.lux b/stdlib/source/lux/control/parser/xml.lux index c3d3136c7..bec2b80fe 100644 --- a/stdlib/source/lux/control/parser/xml.lux +++ b/stdlib/source/lux/control/parser/xml.lux @@ -33,7 +33,7 @@ (exception: #export (unconsumed-inputs {inputs (List XML)}) (exception.report - ["Inputs" (exception.enumerate (:: /.codec encode) inputs)])) + ["Inputs" (exception.enumerate (\ /.codec encode) inputs)])) (def: #export text (Parser Text) diff --git a/stdlib/source/lux/control/reader.lux b/stdlib/source/lux/control/reader.lux index 9236fb5a5..fc1755990 100644 --- a/stdlib/source/lux/control/reader.lux +++ b/stdlib/source/lux/control/reader.lux @@ -57,7 +57,7 @@ (def: &functor (functor.compose ..functor (get@ #monad.&functor monad))) - (def: wrap (|>> (:: monad wrap) (:: ..monad wrap))) + (def: wrap (|>> (\ monad wrap) (\ ..monad wrap))) (def: (join eMeMa) (function (_ env) @@ -68,4 +68,4 @@ (def: #export lift {#.doc "Lift monadic values to the Reader wrapper."} (All [M e a] (-> (M a) (Reader e (M a)))) - (:: ..monad wrap)) + (\ ..monad wrap)) diff --git a/stdlib/source/lux/control/region.lux b/stdlib/source/lux/control/region.lux index 3bc17e7f9..54f6c9fae 100644 --- a/stdlib/source/lux/control/region.lux +++ b/stdlib/source/lux/control/region.lux @@ -64,9 +64,9 @@ (All [! a] (-> (Monad !) (-> a (! (Try Any))) a (All [r] (Region r ! a)))) (function (_ [region cleaners]) - (:: monad wrap [(#.Cons (function (_ region) (cleaner value)) - cleaners) - (#try.Success value)]))) + (\ monad wrap [(#.Cons (function (_ region) (cleaner value)) + cleaners) + (#try.Success value)]))) (structure: #export (functor super) (All [!] @@ -76,15 +76,15 @@ (def: (map f) (function (_ fa) (function (_ region+cleaners) - (:: super map - (function (_ [cleaners' temp]) - [cleaners' (case temp - (#try.Success value) - (#try.Success (f value)) + (\ super map + (function (_ [cleaners' temp]) + [cleaners' (case temp + (#try.Success value) + (#try.Success (f value)) - (#try.Failure error) - (#try.Failure error))]) - (fa region+cleaners)))))) + (#try.Failure error) + (#try.Failure error))]) + (fa region+cleaners)))))) (structure: #export (apply super) (All [!] @@ -121,7 +121,7 @@ (def: (wrap value) (function (_ [region cleaners]) - (:: super wrap [cleaners (#try.Success value)]))) + (\ super wrap [cleaners (#try.Success value)]))) (def: (join ffa) (function (_ [region cleaners]) @@ -139,7 +139,7 @@ (-> (Monad !) Text (All [r] (Region r ! a)))) (function (_ [region cleaners]) - (:: monad wrap [cleaners (#try.Failure error)]))) + (\ monad wrap [cleaners (#try.Failure error)]))) (def: #export (throw monad exception message) (All [! e a] diff --git a/stdlib/source/lux/control/remember.lux b/stdlib/source/lux/control/remember.lux index a0d46979c..8092fb6a2 100644 --- a/stdlib/source/lux/control/remember.lux +++ b/stdlib/source/lux/control/remember.lux @@ -38,7 +38,7 @@ .int) (do <>.monad [raw .text] - (case (:: date.codec decode raw) + (case (\ date.codec decode raw) (#try.Success date) (wrap date) diff --git a/stdlib/source/lux/control/security/capability.lux b/stdlib/source/lux/control/security/capability.lux index be117d5bf..a1272b018 100644 --- a/stdlib/source/lux/control/security/capability.lux +++ b/stdlib/source/lux/control/security/capability.lux @@ -49,8 +49,8 @@ (do {! meta.monad} [this-module meta.current-module-name #let [[name vars] declaration] - g!brand (:: ! map (|>> %.code code.text) - (meta.gensym (format (%.name [this-module name])))) + g!brand (\ ! map (|>> %.code code.text) + (meta.gensym (format (%.name [this-module name])))) #let [capability (` (..Capability (.primitive (~ g!brand)) (~ input) (~ output)))]] (wrap (list (` (type: (~+ (writer.export export)) (~ (writer.declaration declaration)) diff --git a/stdlib/source/lux/control/state.lux b/stdlib/source/lux/control/state.lux index d4aae98a6..2441efa8e 100644 --- a/stdlib/source/lux/control/state.lux +++ b/stdlib/source/lux/control/state.lux @@ -99,13 +99,13 @@ (def: (map f sfa) (function (_ state) - (:: functor map (function (_ [s a]) [s (f a)]) - (sfa state))))) + (\ functor map (function (_ [s a]) [s (f a)]) + (sfa state))))) (structure: (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: (apply sFf sFa) (function (_ state) @@ -127,11 +127,11 @@ {#.doc "A monad transformer to create composite stateful computations."} (All [M s] (-> (Monad M) (Monad (State' M s)))) - (def: &functor (with//functor (:: monad &functor))) + (def: &functor (with//functor (\ monad &functor))) (def: (wrap a) (function (_ state) - (:: monad wrap [state a]))) + (\ monad wrap [state a]))) (def: (join sMsMa) (function (_ state) diff --git a/stdlib/source/lux/control/try.lux b/stdlib/source/lux/control/try.lux index 1a2f5cbe0..94a01b0f7 100644 --- a/stdlib/source/lux/control/try.lux +++ b/stdlib/source/lux/control/try.lux @@ -64,7 +64,7 @@ (def: &functor (functor.compose (get@ #monad.&functor monad) ..functor)) - (def: wrap (|>> (:: ..monad wrap) (:: monad wrap))) + (def: wrap (|>> (\ ..monad wrap) (\ monad wrap))) (def: (join MeMea) (do monad @@ -78,7 +78,7 @@ (def: #export (lift monad) (All [M a] (-> (Monad M) (-> (M a) (M (Try a))))) - (:: monad map (:: ..monad wrap))) + (\ monad map (\ ..monad wrap))) (structure: #export (equivalence (^open "_\.")) (All [a] (-> (Equivalence a) (Equivalence (Try a)))) diff --git a/stdlib/source/lux/control/writer.lux b/stdlib/source/lux/control/writer.lux index db9df51c3..9c4b2850a 100644 --- a/stdlib/source/lux/control/writer.lux +++ b/stdlib/source/lux/control/writer.lux @@ -34,7 +34,7 @@ (def: (apply ff fa) (let [[log1 f] ff [log2 a] fa] - [(:: monoid compose log1 log2) (f a)]))) + [(\ monoid compose log1 log2) (f a)]))) (structure: #export (monad monoid) (All [l] @@ -43,11 +43,11 @@ (def: &functor ..functor) (def: wrap - (|>> [(:: monoid identity)])) + (|>> [(\ monoid identity)])) (def: (join mma) (let [[log1 [log2 a]] mma] - [(:: monoid compose log1 log2) a]))) + [(\ monoid compose log1 log2) a]))) (structure: #export (with monoid monad) (All [l M] (-> (Monoid l) (Monad M) (Monad (All [a] (M (Writer l a)))))) @@ -58,7 +58,7 @@ (def: wrap (let [writer (..monad monoid)] - (|>> (:: writer wrap) (:: monad wrap)))) + (|>> (\ writer wrap) (\ monad wrap)))) (def: (join MlMla) (do monad @@ -68,10 +68,10 @@ ## On new compiler MlMla) [l2 a] Mla] - (wrap [(:: monoid compose l1 l2) a])))) + (wrap [(\ monoid compose l1 l2) a])))) (def: #export (lift monoid monad) (All [l M a] (-> (Monoid l) (Monad M) (-> (M a) (M (Writer l a))))) - (:: monad map (|>> [(:: monoid identity)]))) + (\ monad map (|>> [(\ monoid identity)]))) diff --git a/stdlib/source/lux/data/collection/dictionary.lux b/stdlib/source/lux/data/collection/dictionary.lux index f7a406c45..efb99a8b4 100644 --- a/stdlib/source/lux/data/collection/dictionary.lux +++ b/stdlib/source/lux/data/collection/dictionary.lux @@ -218,10 +218,10 @@ ## Produces the index of a KV-pair within a #Collisions node. (def: (collision-index Hash key colls) (All [k v] (-> (Hash k) k (Collisions k v) (Maybe Index))) - (:: maybe.monad map product.left - (array.find+ (function (_ idx [key' val']) - (:: Hash = key key')) - colls))) + (\ maybe.monad map product.left + (array.find+ (function (_ idx [key' val']) + (\ Hash = key key')) + colls))) ## When #Hierarchy nodes grow too small, they're demoted to #Base ## nodes to save space. @@ -261,7 +261,7 @@ (#.Some (#.Right [key' val'])) (array.write! hierarchy-idx - (put' (level-up level) (:: Hash hash key') key' val' Hash empty) + (put' (level-up level) (\ Hash hash key') key' val' Hash empty) h-array) #.None @@ -318,12 +318,12 @@ ## Otherwise, if it's being used by a KV, I compare the keys. (#.Some (#.Right key' val')) - (if (:: Hash = key key') + (if (\ Hash = key key') ## If the same key is found, I replace the value. (#Base bitmap (update! idx (#.Right key val) base)) ## Otherwise, I compare the hashes of the keys. (#Base bitmap (update! idx - (#.Left (let [hash' (:: Hash hash key')] + (#.Left (let [hash' (\ Hash hash key')] (if (n.= hash hash') ## If the hashes are ## the same, a new @@ -445,7 +445,7 @@ ## If, however, there was a KV-pair instead of a sub-node. (#.Some (#.Right [key' val'])) ## Check if the keys match. - (if (:: Hash = key key') + (if (\ Hash = key key') ## If so, remove the KV-pair and unset the BitPosition. (#Base (unset-bit-position bit bitmap) (remove! idx base)) @@ -492,16 +492,16 @@ (get' (level-up level) hash key Hash sub-node) (#.Some (#.Right [key' val'])) - (if (:: Hash = key key') + (if (\ Hash = key key') (#.Some val') #.None)) #.None)) ## For #Collisions nodes, do a linear scan of all the known KV-pairs. (#Collisions _hash _colls) - (:: maybe.monad map product.right - (array.find (|>> product.left (:: Hash = key)) - _colls)) + (\ maybe.monad map product.right + (array.find (|>> product.left (\ Hash = key)) + _colls)) )) (def: (size' node) @@ -562,17 +562,17 @@ (def: #export (put key val dict) (All [k v] (-> k v (Dictionary k v) (Dictionary k v))) (let [[Hash node] dict] - [Hash (put' root-level (:: Hash hash key) key val Hash node)])) + [Hash (put' root-level (\ Hash hash key) key val Hash node)])) (def: #export (remove key dict) (All [k v] (-> k (Dictionary k v) (Dictionary k v))) (let [[Hash node] dict] - [Hash (remove' root-level (:: Hash hash key) key Hash node)])) + [Hash (remove' root-level (\ Hash hash key) key Hash node)])) (def: #export (get key dict) (All [k v] (-> k (Dictionary k v) (Maybe v))) (let [[Hash node] dict] - (get' root-level (:: Hash hash key) key Hash node))) + (get' root-level (\ Hash hash key) key Hash node))) (def: #export (contains? key dict) (All [k v] (-> k (Dictionary k v) Bit)) @@ -722,4 +722,4 @@ (All [k] (Functor (Dictionary k))) (def: (map f fa) - (update@ #root (:: ..functor' map f) fa))) + (update@ #root (\ ..functor' map f) fa))) diff --git a/stdlib/source/lux/data/collection/dictionary/ordered.lux b/stdlib/source/lux/data/collection/dictionary/ordered.lux index fc02cd5bf..b924a2e5d 100644 --- a/stdlib/source/lux/data/collection/dictionary/ordered.lux +++ b/stdlib/source/lux/data/collection/dictionary/ordered.lux @@ -63,11 +63,11 @@ (#.Some node) (let [node-key (get@ #key node)] - (cond (:: dict = node-key key) + (cond (\ dict = node-key key) ## (_\= node-key key) (#.Some (get@ #value node)) - (:: dict < node-key key) + (\ dict < node-key key) ## (_\< node-key key) (recur (get@ #left node)) @@ -86,9 +86,9 @@ (#.Some node) (let [node-key (get@ #key node)] - (or (:: dict = node-key key) + (or (\ dict = node-key key) ## (_\= node-key key) - (if (:: dict < node-key key) + (if (\ dict < node-key key) ## (_\< node-key key) (recur (get@ #left node)) (recur (get@ #right node))))))))) @@ -360,7 +360,7 @@ (#.Some (right-balance (get@ #key right) (get@ #value right) (get@ #right right>>left) - (:: maybe.functor map redden (get@ #right right))))) + (\ maybe.functor map redden (get@ #right right))))) _ (error! error-message)) @@ -387,7 +387,7 @@ (get@ #value left>>right) (#.Some (left-balance (get@ #key left) (get@ #value left) - (:: maybe.functor map redden (get@ #left left)) + (\ maybe.functor map redden (get@ #left left)) (get@ #left left>>right))) (#.Some (black key value (get@ #right left>>right) ?right))) diff --git a/stdlib/source/lux/data/collection/list.lux b/stdlib/source/lux/data/collection/list.lux index d35df1b53..62e8a417d 100644 --- a/stdlib/source/lux/data/collection/list.lux +++ b/stdlib/source/lux/data/collection/list.lux @@ -302,7 +302,7 @@ #1 [(#.Cons x xs') (#.Cons y ys')] - (and (:: Equivalence = x y) + (and (\ Equivalence = x y) (= xs' ys')) [_ _] @@ -313,7 +313,7 @@ (All [a] (-> (Hash a) (Hash (List a)))) (def: &equivalence - (..equivalence (:: super &equivalence))) + (..equivalence (\ super &equivalence))) (def: (hash value) (case value @@ -322,7 +322,7 @@ (#.Cons head tail) ($_ n.* 3 - (n.+ (:: super hash head) + (n.+ (\ super hash head) (hash tail))) ))) @@ -395,7 +395,7 @@ (All [a] (-> (Equivalence a) (List a) a Bit)) (case xs #.Nil #0 - (#.Cons x' xs') (or (:: eq = x x') + (#.Cons x' xs') (or (\ eq = x x') (member? eq xs' x)))) (template [ ] @@ -571,14 +571,14 @@ (def: #export (concat xss) (All [a] (-> (List (List a)) (List a))) - (:: ..monad join xss)) + (\ ..monad join xss)) (structure: #export (with monad) (All [M] (-> (Monad M) (Monad (All [a] (M (List a)))))) (def: &functor (functor.compose (get@ #monad.&functor monad) ..functor)) - (def: wrap (|>> (:: ..monad wrap) (:: monad wrap))) + (def: wrap (|>> (\ ..monad wrap) (\ monad wrap))) (def: (join MlMla) (do {! monad} @@ -592,7 +592,7 @@ (def: #export (lift monad) (All [M a] (-> (Monad M) (-> (M a) (M (List a))))) - (:: monad map (:: ..monad wrap))) + (\ monad map (\ ..monad wrap))) (def: #export (enumeration xs) {#.doc "Pairs every element in the list with its index, starting at 0."} diff --git a/stdlib/source/lux/data/collection/queue.lux b/stdlib/source/lux/data/collection/queue.lux index 69e4f7025..2d8712b82 100644 --- a/stdlib/source/lux/data/collection/queue.lux +++ b/stdlib/source/lux/data/collection/queue.lux @@ -79,9 +79,9 @@ (All [a] (-> (Equivalence a) (Equivalence (Queue a)))) (def: (= reference subject) - (:: (list.equivalence super) = - (..to-list reference) - (..to-list subject)))) + (\ (list.equivalence super) = + (..to-list reference) + (..to-list subject)))) (structure: #export functor (Functor Queue) diff --git a/stdlib/source/lux/data/collection/queue/priority.lux b/stdlib/source/lux/data/collection/queue/priority.lux index 9c526d0df..4c559e331 100644 --- a/stdlib/source/lux/data/collection/queue/priority.lux +++ b/stdlib/source/lux/data/collection/queue/priority.lux @@ -67,7 +67,7 @@ (loop [node tree] (case (tree.root node) (0 #0 reference) - (:: equivalence = reference member) + (\ equivalence = reference member) (0 #1 [left right]) (or (recur left) @@ -93,24 +93,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: #export (push 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: #export empty? diff --git a/stdlib/source/lux/data/collection/row.lux b/stdlib/source/lux/data/collection/row.lux index ae60e87d5..9bc47be18 100644 --- a/stdlib/source/lux/data/collection/row.lux +++ b/stdlib/source/lux/data/collection/row.lux @@ -231,8 +231,8 @@ (exception: incorrect-row-structure) (exception: #export [a] (index-out-of-bounds {row (Row a)} {index Nat}) - (exception.report ["Size" (:: n.decimal encode (get@ #size row))] - ["Index" (:: n.decimal encode index)])) + (exception.report ["Size" (\ n.decimal encode (get@ #size row))] + ["Index" (\ n.decimal encode index)])) (exception: base-was-not-found) @@ -363,10 +363,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))) @@ -431,7 +431,7 @@ (def: (map f xs) {#level (get@ #level xs) #size (get@ #size xs) - #root (|> xs (get@ #root) (array\map (:: node-functor map f))) + #root (|> xs (get@ #root) (array\map (\ node-functor map f))) #tail (|> xs (get@ #tail) (array\map f))})) (structure: #export apply diff --git a/stdlib/source/lux/data/collection/set.lux b/stdlib/source/lux/data/collection/set.lux index 6dd536739..80cdf89a6 100644 --- a/stdlib/source/lux/data/collection/set.lux +++ b/stdlib/source/lux/data/collection/set.lux @@ -71,7 +71,7 @@ (def: &equivalence ..equivalence) (def: (hash (^@ set [hash _])) - (list\fold (function (_ elem acc) (n.+ (:: hash hash elem) acc)) + (list\fold (function (_ elem acc) (n.+ (\ hash hash elem) acc)) 0 (..to-list set)))) diff --git a/stdlib/source/lux/data/collection/set/multi.lux b/stdlib/source/lux/data/collection/set/multi.lux index 46578979d..7e4c0f7fe 100644 --- a/stdlib/source/lux/data/collection/set/multi.lux +++ b/stdlib/source/lux/data/collection/set/multi.lux @@ -129,7 +129,7 @@ (def: (hash (^:representation set)) (let [[hash _] set] (list\fold (function (_ [elem multiplicity] acc) - (|> elem (:: hash hash) (n.+ multiplicity) (n.+ acc))) + (|> elem (\ hash hash) (n.+ multiplicity) (n.+ acc))) 0 (dictionary.entries set))))) ) diff --git a/stdlib/source/lux/data/collection/set/ordered.lux b/stdlib/source/lux/data/collection/set/ordered.lux index f215f5430..d350c1e9c 100644 --- a/stdlib/source/lux/data/collection/set/ordered.lux +++ b/stdlib/source/lux/data/collection/set/ordered.lux @@ -72,8 +72,8 @@ (All [a] (Equivalence (Set a))) (def: (= reference sample) - (:: (list.equivalence (:: (:representation reference) &equivalence)) - = (..to-list reference) (..to-list sample)))) + (\ (list.equivalence (\ (:representation reference) &equivalence)) + = (..to-list reference) (..to-list sample)))) ) (def: #export (sub? super sub) diff --git a/stdlib/source/lux/data/collection/stack.lux b/stdlib/source/lux/data/collection/stack.lux index e9a7f8bf4..398fa71ba 100644 --- a/stdlib/source/lux/data/collection/stack.lux +++ b/stdlib/source/lux/data/collection/stack.lux @@ -52,7 +52,7 @@ (Equivalence (Stack a)))) (def: (= reference subject) - (:: (//.equivalence super) = (:representation reference) (:representation subject)))) + (\ (//.equivalence super) = (:representation reference) (:representation subject)))) (structure: #export functor (Functor Stack) @@ -60,6 +60,6 @@ (def: (map f value) (|> value :representation - (:: //.functor map f) + (\ //.functor map f) :abstraction))) ) diff --git a/stdlib/source/lux/data/collection/tree.lux b/stdlib/source/lux/data/collection/tree.lux index 9519ae0b9..b690e7128 100644 --- a/stdlib/source/lux/data/collection/tree.lux +++ b/stdlib/source/lux/data/collection/tree.lux @@ -63,8 +63,8 @@ (All [a] (-> (Equivalence a) (Equivalence (Tree a)))) (def: (= tx ty) - (and (:: super = (get@ #value tx) (get@ #value ty)) - (:: (list.equivalence (equivalence super)) = (get@ #children tx) (get@ #children ty))))) + (and (\ super = (get@ #value tx) (get@ #value ty)) + (\ (list.equivalence (equivalence super)) = (get@ #children tx) (get@ #children ty))))) (structure: #export functor (Functor Tree) diff --git a/stdlib/source/lux/data/collection/tree/finger.lux b/stdlib/source/lux/data/collection/tree/finger.lux index e120b068a..c3e20ce08 100644 --- a/stdlib/source/lux/data/collection/tree/finger.lux +++ b/stdlib/source/lux/data/collection/tree/finger.lux @@ -43,7 +43,7 @@ (def: (branch left right) (:abstraction {#monoid monoid - #tag (:: monoid compose (..tag left) (..tag right)) + #tag (\ monoid compose (..tag left) (..tag right)) #root (0 #1 [left right])}))) (def: #export (value tree) diff --git a/stdlib/source/lux/data/color.lux b/stdlib/source/lux/data/color.lux index 945f0576c..3673e6cce 100644 --- a/stdlib/source/lux/data/color.lux +++ b/stdlib/source/lux/data/color.lux @@ -69,14 +69,14 @@ (def: &equivalence (structure (def: (= reference sample) - (:: hash = (:representation reference) (:representation sample))))) + (\ hash = (:representation reference) (:representation sample))))) (def: hash - (|>> :representation (:: hash hash)))))) + (|>> :representation (\ hash hash)))))) (def: #export equivalence (Equivalence Color) - (:: ..hash &equivalence)) + (\ ..hash &equivalence)) (def: #export black (..from-rgb {#red 0 diff --git a/stdlib/source/lux/data/format/binary.lux b/stdlib/source/lux/data/format/binary.lux index 692dc37ee..6e70655b0 100644 --- a/stdlib/source/lux/data/format/binary.lux +++ b/stdlib/source/lux/data/format/binary.lux @@ -100,7 +100,7 @@ (def: #export (and pre post) (All [a b] (-> (Writer a) (Writer b) (Writer [a b]))) (function (_ [preV postV]) - (:: ..monoid compose (pre preV) (post postV)))) + (\ ..monoid compose (pre preV) (post postV)))) (def: #export (rec body) (All [a] (-> (-> (Writer a) (Writer a)) (Writer a))) @@ -187,10 +187,10 @@ (^open "specification\.") ..monoid [size mutation] (|> value (row\map valueW) - (:: row.fold fold - (function (_ post pre) - (specification\compose pre post)) - specification\identity))] + (\ row.fold fold + (function (_ post pre) + (specification\compose pre post)) + specification\identity))] [(n.+ size) (function (_ [offset binary]) (try.assume diff --git a/stdlib/source/lux/data/format/css.lux b/stdlib/source/lux/data/format/css.lux index 31daa7462..d172c7742 100644 --- a/stdlib/source/lux/data/format/css.lux +++ b/stdlib/source/lux/data/format/css.lux @@ -45,8 +45,8 @@ (-> Font (CSS Special)) (let [with-unicode (case (get@ #/font.unicode-range font) (#.Some unicode-range) - (let [unicode-range' (format "U+" (:: nat.hex encode (get@ #/font.start unicode-range)) - "-" (:: nat.hex encode (get@ #/font.end unicode-range)))] + (let [unicode-range' (format "U+" (\ nat.hex encode (get@ #/font.start unicode-range)) + "-" (\ nat.hex encode (get@ #/font.end unicode-range)))] (list ["unicode-range" unicode-range'])) #.None diff --git a/stdlib/source/lux/data/format/css/value.lux b/stdlib/source/lux/data/format/css/value.lux index 4bce35214..3691bb2e4 100644 --- a/stdlib/source/lux/data/format/css/value.lux +++ b/stdlib/source/lux/data/format/css/value.lux @@ -831,7 +831,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))))))) diff --git a/stdlib/source/lux/data/format/html.lux b/stdlib/source/lux/data/format/html.lux index 62991f6b9..65fb7b1a3 100644 --- a/stdlib/source/lux/data/format/html.lux +++ b/stdlib/source/lux/data/format/html.lux @@ -215,7 +215,7 @@ (def: #export (svg attributes content) (-> Attributes XML Element) (|> content - (:: xml.codec encode) + (\ xml.codec encode) (..raw "svg" attributes))) (type: #export Coord diff --git a/stdlib/source/lux/data/format/json.lux b/stdlib/source/lux/data/format/json.lux index 5f46f997e..04b7a51d1 100644 --- a/stdlib/source/lux/data/format/json.lux +++ b/stdlib/source/lux/data/format/json.lux @@ -172,7 +172,7 @@ (^template [ ] [[( x') ( y')] - (:: = x' y')]) + (\ = x' y')]) ([#Boolean bit.equivalence] [#Number f.equivalence] [#String text.equivalence]) @@ -220,7 +220,7 @@ (-> Number Text) (|>> (case> (^or +0.0 -0.0) "0.0" - value (let [raw (:: f.decimal encode value)] + value (let [raw (\ f.decimal encode value)] (if (f.< +0.0 value) raw (|> raw (text.split 1) maybe.assume product.right)))))) diff --git a/stdlib/source/lux/data/format/tar.lux b/stdlib/source/lux/data/format/tar.lux index c18d81d33..160aab7e4 100644 --- a/stdlib/source/lux/data/format/tar.lux +++ b/stdlib/source/lux/data/format/tar.lux @@ -82,7 +82,7 @@ (let [suffix padded-size (n.+ (text.size suffix) )] (|>> :representation - (:: n.octal encode) + (\ n.octal encode) (..octal-padding ) (text.suffix suffix) encoding.to-utf8 @@ -131,7 +131,7 @@ _ ..verify-small-suffix] (<>.lift (do {! try.monad} - [value (:: n.octal decode digits)] + [value (\ n.octal decode digits)] (..small value))))) (def: big-parser @@ -146,7 +146,7 @@ (n.= expected end)))] (<>.lift (do {! try.monad} - [value (:: n.octal decode digits)] + [value (\ n.octal decode digits)] (..big value))))) (abstract: Checksum @@ -178,7 +178,7 @@ (|>> ..checksum ..coerce-small ..from-small - (:: n.octal encode) + (\ n.octal encode) (..octal-padding ..small-size) (text.suffix ..checksum-suffix) :abstraction)) @@ -199,7 +199,7 @@ (encoding.from-utf8 ascii)) _ ..verify-small-suffix value (<>.lift - (:: n.octal decode digits))] + (\ n.octal decode digits))] (wrap [value (:abstraction (format digits ..checksum-suffix))]))) ) @@ -321,8 +321,8 @@ _ (<>.assert (exception.construct ..wrong-character [expected end]) (n.= expected end))] (<>.lift - (:: try.monad map (|>> :abstraction) - (encoding.from-utf8 string))))) + (\ try.monad map (|>> :abstraction) + (encoding.from-utf8 string))))) ) (def: block-size Size 512) @@ -503,7 +503,7 @@ (def: mode-parser (Parser Mode) (do {! <>.monad} - [value (:: ! map ..from-small ..small-parser)] + [value (\ ! map ..from-small ..small-parser)] (if (n.<= (:representation ..maximum-mode) value) (wrap (:abstraction value)) @@ -832,15 +832,15 @@ (def: entry-parser (Parser Entry) ($_ <>.either - (:: <>.monad map (|>> #..Normal) - (<>.either (..file-parser ..normal) - (..file-parser ..old-normal))) - (:: <>.monad map (|>> #..Symbolic-Link) - (..file-name-parser ..symbolic-link (get@ #link-name))) - (:: <>.monad map (|>> #..Directory) - (..file-name-parser ..directory (get@ #path))) - (:: <>.monad map (|>> #..Contiguous) - (..file-parser ..contiguous)))) + (\ <>.monad map (|>> #..Normal) + (<>.either (..file-parser ..normal) + (..file-parser ..old-normal))) + (\ <>.monad map (|>> #..Symbolic-Link) + (..file-name-parser ..symbolic-link (get@ #link-name))) + (\ <>.monad map (|>> #..Directory) + (..file-name-parser ..directory (get@ #path))) + (\ <>.monad map (|>> #..Contiguous) + (..file-parser ..contiguous)))) ## It's safe to implement the parser this way because the range of values for Nat is 2^64 ## Whereas the maximum possible value for the checksum of a 512 block is (256 × 512) = 131,072 @@ -867,5 +867,5 @@ (def: #export parser (Parser Tar) (|> (<>.some entry-parser) - (:: <>.monad map row.from-list) + (\ <>.monad map row.from-list) (<>.before ..end-of-archive-parser))) diff --git a/stdlib/source/lux/data/format/xml.lux b/stdlib/source/lux/data/format/xml.lux index 512438c56..f37a300a9 100644 --- a/stdlib/source/lux/data/format/xml.lux +++ b/stdlib/source/lux/data/format/xml.lux @@ -111,7 +111,7 @@ (def: attrs^ (Parser Attrs) - (<| (:: <>.monad map (dictionary.from-list name.hash)) + (<| (\ <>.monad map (dictionary.from-list name.hash)) <>.some (<>.and (spaced^ attr-name^)) (<>.after (.this "=")) @@ -257,7 +257,7 @@ [(#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) + (\ (dictionary.equivalence text.equivalence) = reference/attrs sample/attrs) (n.= (list.size reference/children) (list.size sample/children)) (|> (list.zip/2 reference/children sample/children) diff --git a/stdlib/source/lux/data/maybe.lux b/stdlib/source/lux/data/maybe.lux index 0dcb32b6e..7b6f3ace4 100644 --- a/stdlib/source/lux/data/maybe.lux +++ b/stdlib/source/lux/data/maybe.lux @@ -73,7 +73,7 @@ #1 [(#.Some x) (#.Some y)] - (:: super = x y) + (\ super = x y) _ #0))) @@ -82,7 +82,7 @@ (All [a] (-> (Hash a) (Hash (Maybe a)))) (def: &equivalence - (..equivalence (:: super &equivalence))) + (..equivalence (\ super &equivalence))) (def: (hash value) (case value @@ -90,14 +90,14 @@ 2 (#.Some value) - (.nat ("lux i64 *" (.int 3) (.int (:: super hash value))))))) + (.nat ("lux i64 *" (.int 3) (.int (\ super hash value))))))) (structure: #export (with monad) (All [M] (-> (Monad M) (Monad (All [a] (M (Maybe a)))))) (def: &functor (functor.compose (get@ #monad.&functor monad) ..functor)) - (def: wrap (|>> (:: ..monad wrap) (:: monad wrap))) + (def: wrap (|>> (\ ..monad wrap) (\ monad wrap))) (def: (join MmMma) (do monad @@ -111,7 +111,7 @@ (def: #export (lift monad) (All [M a] (-> (Monad M) (-> (M a) (M (Maybe a))))) - (:: monad map (:: ..monad wrap))) + (\ monad map (\ ..monad wrap))) (macro: #export (default tokens state) {#.doc (doc "Allows you to provide a default value that will be used" diff --git a/stdlib/source/lux/data/name.lux b/stdlib/source/lux/data/name.lux index 6d344893c..c9a32cf6a 100644 --- a/stdlib/source/lux/data/name.lux +++ b/stdlib/source/lux/data/name.lux @@ -27,7 +27,7 @@ (def: #export equivalence (Equivalence Name) - (:: ..hash &equivalence)) + (\ ..hash &equivalence)) (structure: #export order (Order Name) @@ -35,8 +35,8 @@ (def: &equivalence ..equivalence) (def: (< [moduleP shortP] [moduleS shortS]) (if (text\= moduleP moduleS) - (:: text.order < shortP shortS) - (:: text.order < moduleP moduleS)))) + (\ text.order < shortP shortS) + (\ text.order < moduleP moduleS)))) (structure: #export codec (Codec Text Name) diff --git a/stdlib/source/lux/data/number.lux b/stdlib/source/lux/data/number.lux index 48a931637..4ac7ed07b 100644 --- a/stdlib/source/lux/data/number.lux +++ b/stdlib/source/lux/data/number.lux @@ -49,20 +49,20 @@ (if (comma-prefixed? repr') (#try.Failure ) (let [repr (clean-commas repr')] - (case (:: decode repr) + (case (\ decode repr) (#try.Success value) (#try.Success [state (list [meta (#.Nat value)])]) (^multi (#try.Failure _) - [(:: decode repr) (#try.Success value)]) + [(\ decode repr) (#try.Success value)]) (#try.Success [state (list [meta (#.Int value)])]) (^multi (#try.Failure _) - [(:: decode repr) (#try.Success value)]) + [(\ decode repr) (#try.Success value)]) (#try.Success [state (list [meta (#.Rev value)])]) (^multi (#try.Failure _) - [(:: decode repr) (#try.Success value)]) + [(\ decode repr) (#try.Success value)]) (#try.Success [state (list [meta (#.Frac value)])]) _ diff --git a/stdlib/source/lux/data/number/frac.lux b/stdlib/source/lux/data/number/frac.lux index fed714fee..d8bc34f93 100644 --- a/stdlib/source/lux/data/number/frac.lux +++ b/stdlib/source/lux/data/number/frac.lux @@ -235,7 +235,7 @@ ) (template [ ] - [(def: (|> (:: //nat.hex decode) try.assume .i64))] + [(def: (|> (\ //nat.hex decode) try.assume .i64))] ["7FF7FFFFFFFFFFFF" not-a-number-bits] ["7FF0000000000000" positive-infinity-bits] @@ -342,7 +342,7 @@ (do try.monad [exponent (|> representation ("lux text clip" (//nat.+ 2 split-index) ("lux text size" representation)) - (:: codec decode))] + (\ codec decode))] (wrap [("lux text clip" 0 split-index representation) (//int.* (.int exponent))]))]) ([+1 (^or [(#.Some split-index) #.None #.None #.None] @@ -367,9 +367,9 @@ 1 "-" 0 "+" _ (undefined)) - (:: encode (.nat mantissa)) + (\ encode (.nat mantissa)) ".0E" - (:: encode exponent)))) + (\ encode exponent)))) (def: (decode representation) (let [negative? (text.starts-with? "-" representation) @@ -382,16 +382,16 @@ (do ! [decimal (|> mantissa ("lux text clip" (inc split-index) ("lux text size" mantissa)) - (:: decode))] + (\ decode))] (wrap [("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 (:: decode (case decimal - 0 whole - _ ("lux text concat" whole (:: encode decimal)))) + mantissa (\ decode (case decimal + 0 whole + _ ("lux text concat" whole (\ encode decimal)))) #let [sign (if negative? 1 0)]] (wrap (..from-bits ($_ //i64.or diff --git a/stdlib/source/lux/data/number/int.lux b/stdlib/source/lux/data/number/int.lux index f2bcdfeb9..38a0dc63a 100644 --- a/stdlib/source/lux/data/number/int.lux +++ b/stdlib/source/lux/data/number/int.lux @@ -181,8 +181,8 @@ [addition ..+ +0] [multiplication ..* +1] - [maximum ..max (:: ..interval bottom)] - [minimum ..min (:: ..interval top)] + [maximum ..max (\ ..interval bottom)] + [minimum ..min (\ ..interval top)] ) (def: (sign!! value) diff --git a/stdlib/source/lux/data/number/nat.lux b/stdlib/source/lux/data/number/nat.lux index dd5e52ad1..f6d5fa19c 100644 --- a/stdlib/source/lux/data/number/nat.lux +++ b/stdlib/source/lux/data/number/nat.lux @@ -191,8 +191,8 @@ [addition ..+ 0] [multiplication ..* 1] - [minimum ..min (:: ..interval top)] - [maximum ..max (:: ..interval bottom)] + [minimum ..min (\ ..interval top)] + [maximum ..max (\ ..interval bottom)] ) (def: #export (binary-character value) diff --git a/stdlib/source/lux/data/number/rev.lux b/stdlib/source/lux/data/number/rev.lux index 6345cf02d..a52be16a4 100644 --- a/stdlib/source/lux/data/number/rev.lux +++ b/stdlib/source/lux/data/number/rev.lux @@ -199,7 +199,7 @@ [(structure: #export (Monoid Rev) - (def: identity (:: interval )) + (def: identity (\ interval )) (def: compose ))] [addition ..+ bottom] @@ -217,7 +217,7 @@ (Codec Text Rev) (def: (encode value) - (let [raw-output (:: encode (:coerce Nat value)) + (let [raw-output (\ encode (:coerce Nat value)) max-num-chars (//nat.+ (//nat./ 64) (case (//nat.% 64) 0 0 @@ -238,7 +238,7 @@ (if (//nat.> 1 repr-size) (case ("lux text char" 0 repr) (^ (char ".")) - (case (:: decode (de-prefix repr)) + (case (\ decode (de-prefix repr)) (#try.Success output) (#try.Success (:coerce Rev output)) @@ -319,7 +319,7 @@ (recur (dec idx) #0 ("lux text concat" - (:: //nat.decimal encode digit) + (\ //nat.decimal encode digit) output)))) (if all-zeroes? "0" diff --git a/stdlib/source/lux/data/product.lux b/stdlib/source/lux/data/product.lux index f9d598433..c458a4881 100644 --- a/stdlib/source/lux/data/product.lux +++ b/stdlib/source/lux/data/product.lux @@ -54,8 +54,8 @@ (-> (Equivalence l) (Equivalence r) (Equivalence (& l r)))) (def: (= [lP rP] [lS rS]) - (and (:: leftE = lP lS) - (:: rightE = rP rS)))) + (and (\ leftE = lP lS) + (\ rightE = rP rS)))) (structure: #export (hash leftH rightH) (All [l r] @@ -63,10 +63,10 @@ (Hash (& l r)))) (def: &equivalence - (..equivalence (:: leftH &equivalence) - (:: rightH &equivalence))) + (..equivalence (\ leftH &equivalence) + (\ rightH &equivalence))) (def: (hash [left right]) ("lux i64 +" - (:: leftH hash left) - (:: rightH hash right)))) + (\ leftH hash left) + (\ rightH hash right)))) diff --git a/stdlib/source/lux/data/store.lux b/stdlib/source/lux/data/store.lux index fa3e45f00..9c2660a32 100644 --- a/stdlib/source/lux/data/store.lux +++ b/stdlib/source/lux/data/store.lux @@ -20,7 +20,7 @@ (def: (map f fa) (extend (function (_ store) - (f (:: store peek (:: store cursor)))) + (f (\ store peek (\ store cursor)))) fa))) (structure: #export comonad @@ -28,22 +28,22 @@ (def: &functor ..functor) - (def: (unwrap wa) (::: peek (::: cursor))) + (def: (unwrap wa) (\\ peek (\\ cursor))) (def: split (extend id))) (def: #export (peeks trans store) (All [s a] (-> (-> s s) (Store s a) a)) - (|> (::: cursor) trans (::: peek))) + (|> (\\ cursor) trans (\\ peek))) (def: #export (seek cursor store) (All [s a] (-> s (Store s a) (Store s a))) - (:: (::: split store) peek cursor)) + (\ (\\ split store) peek cursor)) (def: #export (seeks change store) (All [s a] (-> (-> s s) (Store s a) (Store s a))) - (|> store (::: split) (peeks change))) + (|> store (\\ split) (peeks change))) (def: #export (experiment Functor change store) (All [f s a] (-> (Functor f) (-> s (f s)) (Store s a) (f a))) - (:: Functor map (::: peek) (change (::: cursor)))) + (\ Functor map (\\ peek) (change (\\ cursor)))) diff --git a/stdlib/source/lux/data/text/format.lux b/stdlib/source/lux/data/text/format.lux index 34aaaaf4e..5d6bdf07f 100644 --- a/stdlib/source/lux/data/text/format.lux +++ b/stdlib/source/lux/data/text/format.lux @@ -55,31 +55,31 @@ (Format ) )] - [bit Bit (:: bit.codec encode)] - [nat Nat (:: nat.decimal encode)] - [int Int (:: int.decimal encode)] - [rev Rev (:: rev.decimal encode)] - [frac Frac (:: frac.decimal encode)] - [ratio ratio.Ratio (:: ratio.codec encode)] + [bit Bit (\ bit.codec encode)] + [nat Nat (\ nat.decimal encode)] + [int Int (\ int.decimal encode)] + [rev Rev (\ rev.decimal encode)] + [frac Frac (\ frac.decimal encode)] + [ratio ratio.Ratio (\ ratio.codec encode)] [text Text text.encode] - [name Name (:: name.codec encode)] + [name Name (\ name.codec encode)] [code Code code.format] [type Type type.format] - [bin Nat (:: nat.binary encode)] - [oct Nat (:: nat.octal encode)] - [hex Nat (:: nat.hex encode)] - [xml xml.XML (:: xml.codec encode)] - [json json.JSON (:: json.codec encode)] - [instant instant.Instant (:: instant.codec encode)] - [duration duration.Duration (:: duration.codec encode)] - [date date.Date (:: date.codec encode)] + [bin Nat (\ nat.binary encode)] + [oct Nat (\ nat.octal encode)] + [hex Nat (\ nat.hex encode)] + [xml xml.XML (\ xml.codec encode)] + [json json.JSON (\ json.codec encode)] + [instant instant.Instant (\ instant.codec encode)] + [duration duration.Duration (\ duration.codec encode)] + [date date.Date (\ date.codec encode)] [location Location location.format] ) (def: #export (mod modular) (All [m] (Format (modular.Mod m))) (let [[_ modulus] (modular.un-mod modular)] - (:: (modular.codec modulus) encode modular))) + (\ (modular.codec modulus) encode modular))) (def: #export (list formatter) (All [a] (-> (Format a) (Format (List a)))) diff --git a/stdlib/source/lux/data/text/regex.lux b/stdlib/source/lux/data/text/regex.lux index 863916776..bd2d8133a 100644 --- a/stdlib/source/lux/data/text/regex.lux +++ b/stdlib/source/lux/data/text/regex.lux @@ -84,9 +84,9 @@ (def: re-range^ (Parser Code) (do {! <>.monad} - [from (|> regex-char^ (:: ! map (|>> (//.nth 0) maybe.assume))) + [from (|> regex-char^ (\ ! map (|>> (//.nth 0) maybe.assume))) _ (.this "-") - to (|> regex-char^ (:: ! map (|>> (//.nth 0) maybe.assume)))] + to (|> regex-char^ (\ ! map (|>> (//.nth 0) maybe.assume)))] (wrap (` (.range (~ (code.nat from)) (~ (code.nat to))))))) (def: re-char^ @@ -282,7 +282,7 @@ [idx names (list& (list g!temp complex - (' #let) (` [(~ g!total) (:: (~! //.monoid) (~' compose) (~ g!total) (~ g!temp))])) + (' #let) (` [(~ g!total) (\ (~! //.monoid) (~' compose) (~ g!total) (~ g!temp))])) steps)] (#.Right [(#Capturing [?name num-captures]) scoped]) @@ -298,7 +298,7 @@ [idx! (list& name! names) (list& (list name! scoped - (' #let) (` [(~ g!total) (:: (~! //.monoid) (~' compose) (~ g!total) (~ access))])) + (' #let) (` [(~ g!total) (\ (~! //.monoid) (~' compose) (~ g!total) (~ access))])) steps)]) ))) [0 @@ -316,7 +316,7 @@ (def: (unflatten^ lexer) (-> (Parser Text) (Parser [Text Any])) - (<>.and lexer (:: <>.monad wrap []))) + (<>.and lexer (\ <>.monad wrap []))) (def: (|||^ left right) (All [l r] (-> (Parser [Text l]) (Parser [Text r]) (Parser [Text (| l r)]))) @@ -398,7 +398,7 @@ (def: (regex^ current-module) (-> Text (Parser Code)) - (:: <>.monad map product.right (re-alternative^ #1 re-scoped^ current-module))) + (\ <>.monad map product.right (re-alternative^ #1 re-scoped^ current-module))) (syntax: #export (regex {pattern .text}) {#.doc (doc "Create lexers using regular-expression syntax." diff --git a/stdlib/source/lux/data/text/unicode.lux b/stdlib/source/lux/data/text/unicode.lux index 25f213a98..ff0a8a507 100644 --- a/stdlib/source/lux/data/text/unicode.lux +++ b/stdlib/source/lux/data/text/unicode.lux @@ -27,10 +27,10 @@ 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: #export (segment start end) (-> Char Char Segment) @@ -204,14 +204,14 @@ (def: #export (compose left right) (-> Set Set Set) (:abstraction - (:: builder branch - (:representation left) - (:representation right)))) + (\ builder branch + (:representation left) + (:representation right)))) (def: (singleton segment) (-> Segment Set) (:abstraction - (:: builder leaf segment []))) + (\ builder leaf segment []))) (def: #export (set [head tail]) (-> [Segment (List Segment)] Set) diff --git a/stdlib/source/lux/data/trace.lux b/stdlib/source/lux/data/trace.lux index 94e02ea6b..3467ee5dd 100644 --- a/stdlib/source/lux/data/trace.lux +++ b/stdlib/source/lux/data/trace.lux @@ -28,8 +28,8 @@ {#monoid monoid #trace (function (_ t2) ((get@ #trace wa) - (:: monoid compose t1 t2)))})}))) + (\ monoid compose t1 t2)))})}))) (def: #export (run context tracer) (All [t a] (-> t (Trace t a) a)) - (:: tracer trace context)) + (\ tracer trace context)) diff --git a/stdlib/source/lux/host.js.lux b/stdlib/source/lux/host.js.lux index da2f5a9c5..43e3e90bf 100644 --- a/stdlib/source/lux/host.js.lux +++ b/stdlib/source/lux/host.js.lux @@ -238,9 +238,9 @@ (#Field [static? field fieldT]) (if static? (` ((~! syntax:) ((~ (qualify field))) - (:: (~! meta.monad) (~' wrap) - (list (` (.:coerce (~ (nullable-type fieldT)) - ("js constant" (~ (code.text (format real-class "." field)))))))))) + (\ (~! meta.monad) (~' wrap) + (list (` (.:coerce (~ (nullable-type fieldT)) + ("js constant" (~ (code.text (format real-class "." field)))))))))) (` (def: ((~ (qualify field)) (~ g!object)) (-> (~ g!type) diff --git a/stdlib/source/lux/host.jvm.lux b/stdlib/source/lux/host.jvm.lux index 7dd6140cc..3334e29be 100644 --- a/stdlib/source/lux/host.jvm.lux +++ b/stdlib/source/lux/host.jvm.lux @@ -297,32 +297,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 @@ -584,7 +584,7 @@ (|>> (<>.after (.this! (' ))) (<>.after ..wildcard^) .tuple - (:: <>.monad map )))] + (\ <>.monad map )))] [upper^ < type.upper] [lower^ > type.lower] @@ -627,7 +627,7 @@ (def: array^ (-> (Parser (Type Value)) (Parser (Type Array))) (|>> .tuple - (:: <>.monad map type.array))) + (\ <>.monad map type.array))) (def: (type^ type-vars) (-> (List (Type Var)) (Parser (Type Value))) @@ -652,7 +652,7 @@ (def: var^ (Parser (Type Var)) - (:: <>.monad map type.var .local-identifier)) + (\ <>.monad map type.var .local-identifier)) (def: vars^ (Parser (List (Type Var))) @@ -723,7 +723,7 @@ ($_ <>.or (.this! (' #volatile)) (.this! (' #final)) - (:: <>.monad wrap []))) + (\ <>.monad wrap []))) (def: (field-decl^ type-vars) (-> (List (Type Var)) (Parser [Member-Declaration FieldDecl])) @@ -1167,7 +1167,7 @@ (syntax: #export (class: {#let [! <>.monad]} {im inheritance-modifier^} - {[full-class-name class-vars] (:: ! map parser.declaration ..declaration^)} + {[full-class-name class-vars] (\ ! map parser.declaration ..declaration^)} {super (<>.default $Object (class^ class-vars))} {interfaces (<>.default (list) @@ -1224,7 +1224,7 @@ (syntax: #export (interface: {#let [! <>.monad]} - {[full-class-name class-vars] (:: ! map parser.declaration ..declaration^)} + {[full-class-name class-vars] (\ ! map parser.declaration ..declaration^)} {supers (<>.default (list) (.tuple (<>.some (class^ class-vars))))} {annotations ..annotations^} @@ -1413,7 +1413,7 @@ (wrap [arg-inputs input-jvm-types arg-types]))) _ - (:: meta.monad wrap [(list) (list) (list)]))) + (\ meta.monad wrap [(list) (list) (list)]))) (def: (decorate-return-maybe member never-null? unboxed return-term) (-> Import-Member-Declaration Bit (Type Value) Code Code) @@ -1466,7 +1466,7 @@ #AutoPrM (with-expansions [' (template.splice ) (template [
 ]
-                                                                        [(:: type.equivalence =  unboxed)
+                                                                        [(\ type.equivalence =  unboxed)
                                                                          (with-expansions [' (template.splice )]
                                                                            [
                                                                             (` (.|> (~ raw) (~+ 
)))
@@ -1700,9 +1700,9 @@
   (let [[class-name _] (parser.declaration declaration)]
     (case (load-class class-name)
       (#.Right class)
-      (:: meta.monad wrap (if (interface? class)
-                            #Interface
-                            #Class))
+      (\ meta.monad wrap (if (interface? class)
+                           #Interface
+                           #Class))
 
       (#.Left _)
       (meta.fail (format "Unknown class: " class-name)))))
@@ -1770,7 +1770,7 @@
                        "jvm object cast"
                        "jvm conversion long-to-int"))]
     (`` (cond (~~ (template [ ]
-                    [(:: type.equivalence =  type)
+                    [(\ type.equivalence =  type)
                      (wrap (list (` ( (~ g!size)))))]
 
                     [type.boolean "jvm array new boolean"]
@@ -1793,14 +1793,14 @@
   (def: (lux-type->jvm-type type)
     (-> .Type (Meta (Type Value)))
     (if (lux-type\= Any type)
-      (:: meta.monad wrap $Object)
+      (\ meta.monad wrap $Object)
       (case type
         (#.Primitive name params)
         (`` (cond (~~ (template []
                         [(text\= (..reflection ) name)
                          (case params
                            #.Nil
-                           (:: meta.monad wrap )
+                           (\ meta.monad wrap )
 
                            _
                            )]
@@ -1818,7 +1818,7 @@
                         [(text\= (..reflection (type.array )) name)
                          (case params
                            #.Nil
-                           (:: meta.monad wrap (type.array ))
+                           (\ meta.monad wrap (type.array ))
 
                            _
                            )]
@@ -1835,8 +1835,8 @@
                   (text\= array.type-name name)
                   (case params
                     (#.Cons elementLT #.Nil)
-                    (:: meta.monad map type.array
-                        (lux-type->jvm-type elementLT))
+                    (\ meta.monad map type.array
+                       (lux-type->jvm-type elementLT))
 
                     _
                     )
@@ -1845,26 +1845,26 @@
                   (case params
                     #.Nil
                     (let [[_ unprefixed] (maybe.assume (text.split-with descriptor.array-prefix name))]
-                      (:: meta.monad map type.array
-                          (lux-type->jvm-type (#.Primitive unprefixed (list)))))
+                      (\ meta.monad map type.array
+                         (lux-type->jvm-type (#.Primitive unprefixed (list)))))
 
                     _
                     )
 
                   ## else
-                  (:: meta.monad map (type.class name)
-                      (: (Meta (List (Type Parameter)))
-                         (monad.map meta.monad
-                                    (function (_ paramLT)
-                                      (do meta.monad
-                                        [paramJT (lux-type->jvm-type paramLT)]
-                                        (case (parser.parameter? paramJT)
-                                          (#.Some paramJT)
-                                          (wrap paramJT)
-
-                                          #.None
-                                          )))
-                                    params)))))
+                  (\ meta.monad map (type.class name)
+                     (: (Meta (List (Type Parameter)))
+                        (monad.map meta.monad
+                                   (function (_ paramLT)
+                                     (do meta.monad
+                                       [paramJT (lux-type->jvm-type paramLT)]
+                                       (case (parser.parameter? paramJT)
+                                         (#.Some paramJT)
+                                         (wrap paramJT)
+
+                                         #.None
+                                         )))
+                                   params)))))
 
         (#.Apply A F)
         (case (lux-type.apply (list A) F)
@@ -1889,9 +1889,9 @@
       [array-type (meta.find-type array-name)
        array-jvm-type (lux-type->jvm-type array-type)
        #let [g!extension (code.text (`` (cond (~~ (template [ ]
-                                                    [(:: type.equivalence =
-                                                         (type.array )
-                                                         array-jvm-type)
+                                                    [(\ type.equivalence =
+                                                        (type.array )
+                                                        array-jvm-type)
                                                      ]
 
                                                     [type.boolean "jvm array length boolean"]
@@ -1930,9 +1930,9 @@
                            "jvm object cast"
                            "jvm conversion long-to-int"))]]
       (`` (cond (~~ (template [  ]
-                      [(:: type.equivalence =
-                           (type.array )
-                           array-jvm-type)
+                      [(\ type.equivalence =
+                          (type.array )
+                          array-jvm-type)
                        (wrap (list (` (.|> ( (~ g!idx) (~ array))
                                            "jvm object cast"
                                            (.: (.primitive (~ (code.text ))))))))]
@@ -1968,9 +1968,9 @@
                            "jvm object cast"
                            "jvm conversion long-to-int"))]]
       (`` (cond (~~ (template [  ]
-                      [(:: type.equivalence =
-                           (type.array )
-                           array-jvm-type)
+                      [(\ type.equivalence =
+                          (type.array )
+                          array-jvm-type)
                        (let [g!value (` (.|> (~ value)
                                              (.:coerce (.primitive (~ (code.text ))))
                                              "jvm object cast"))]
diff --git a/stdlib/source/lux/host.old.lux b/stdlib/source/lux/host.old.lux
index 896e5758d..8bc8cbea0 100644
--- a/stdlib/source/lux/host.old.lux
+++ b/stdlib/source/lux/host.old.lux
@@ -671,7 +671,7 @@
   ($_ p.or
       (s.this! (' #volatile))
       (s.this! (' #final))
-      (:: p.monad wrap [])))
+      (\ p.monad wrap [])))
 
 (def: (field-decl^ type-vars)
   (-> (List Type-Parameter) (Parser [Member-Declaration FieldDecl]))
@@ -1416,7 +1416,7 @@
         (wrap [arg-inputs arg-classes arg-types])))
 
     _
-    (:: meta.monad wrap [(list) (list) (list)])))
+    (\ meta.monad wrap [(list) (list) (list)])))
 
 (def: (decorate-return-maybe member return-term)
   (-> Import-Member-Declaration Code Code)
@@ -1648,9 +1648,9 @@
   (let [class-name (sanitize class-name)]
     (case (load-class class-name)
       (#.Right class)
-      (:: meta.monad wrap (if (interface? class)
-                            #Interface
-                            #Class))
+      (\ meta.monad wrap (if (interface? class)
+                           #Interface
+                           #Class))
 
       (#.Left _)
       (meta.fail (format "Unknown class: " class-name)))))
@@ -1746,10 +1746,10 @@
 (def: (type->class-name type)
   (-> Type (Meta Text))
   (if (type\= Any type)
-    (:: meta.monad wrap "java.lang.Object")
+    (\ meta.monad wrap "java.lang.Object")
     (case type
       (#.Primitive name params)
-      (:: meta.monad wrap name)
+      (\ meta.monad wrap name)
 
       (#.Apply A F)
       (case (type.apply (list A) F)
diff --git a/stdlib/source/lux/locale.lux b/stdlib/source/lux/locale.lux
index 90d0653df..b8a6b1ec8 100644
--- a/stdlib/source/lux/locale.lux
+++ b/stdlib/source/lux/locale.lux
@@ -38,7 +38,7 @@
     (Equivalence Locale)
     
     (def: (= reference sample)
-      (:: text.equivalence = (:representation reference) (:representation sample))))
+      (\ text.equivalence = (:representation reference) (:representation sample))))
 
   (structure: #export hash
     (Hash Locale)
@@ -48,5 +48,5 @@
     
     (def: hash
       (|>> :representation
-           (:: text.hash hash))))
+           (\ text.hash hash))))
   )
diff --git a/stdlib/source/lux/locale/language.lux b/stdlib/source/lux/locale/language.lux
index 8aeeb1c51..d26581619 100644
--- a/stdlib/source/lux/locale/language.lux
+++ b/stdlib/source/lux/locale/language.lux
@@ -564,5 +564,5 @@
     
     (def: hash
       (|>> ..code
-           (:: text.hash hash))))
+           (\ text.hash hash))))
   )
diff --git a/stdlib/source/lux/locale/territory.lux b/stdlib/source/lux/locale/territory.lux
index fa313c20c..76ecdf965 100644
--- a/stdlib/source/lux/locale/territory.lux
+++ b/stdlib/source/lux/locale/territory.lux
@@ -307,5 +307,5 @@
     (def: hash
       (|>> :representation
            (get@ #long)
-           (:: text.hash hash))))
+           (\ text.hash hash))))
   )
diff --git a/stdlib/source/lux/macro/code.lux b/stdlib/source/lux/macro/code.lux
index 839084537..40b9763bd 100644
--- a/stdlib/source/lux/macro/code.lux
+++ b/stdlib/source/lux/macro/code.lux
@@ -66,7 +66,7 @@
     (case [x y]
       (^template [ ]
         [[[_ ( x')] [_ ( y')]]
-         (::  = x' y')])
+         (\  = x' y')])
       ([#.Bit        bit.equivalence]
        [#.Nat        nat.equivalence]
        [#.Int        int.equivalence]
@@ -78,13 +78,13 @@
 
       (^template []
         [[[_ ( xs')] [_ ( ys')]]
-         (:: (list.equivalence =) = xs' ys')])
+         (\ (list.equivalence =) = xs' ys')])
       ([#.Form]
        [#.Tuple])
 
       [[_ (#.Record xs')] [_ (#.Record ys')]]
-      (:: (list.equivalence (equivalence.product = =))
-          = xs' ys')
+      (\ (list.equivalence (equivalence.product = =))
+         = xs' ys')
       
       _
       #0)))
@@ -94,7 +94,7 @@
   (case ast
     (^template [ ]
       [[_ ( value)]
-       (::  encode value)])
+       (\  encode value)])
     ([#.Bit        bit.codec]
      [#.Nat        nat.decimal]
      [#.Int        int.decimal]
@@ -106,7 +106,7 @@
     (text.encode value)
 
     [_ (#.Tag name)]
-    (text\compose  "#" (:: name.codec encode name))
+    (text\compose  "#" (\ name.codec encode name))
 
     (^template [  ]
       [[_ ( members)]
@@ -139,7 +139,7 @@
 (def: #export (replace original substitute ast)
   {#.doc "Replaces all code that looks like the 'original' with the 'substitute'."}
   (-> Code Code Code Code)
-  (if (:: ..equivalence = original ast)
+  (if (\ ..equivalence = original ast)
     substitute
     (case ast
       (^template []
diff --git a/stdlib/source/lux/math/random.lux b/stdlib/source/lux/math/random.lux
index e8a8d3263..44bded416 100644
--- a/stdlib/source/lux/math/random.lux
+++ b/stdlib/source/lux/math/random.lux
@@ -128,7 +128,7 @@
 (template [  ]
   [(def: #export 
      (Random )
-     (:: ..monad map  ..i64))]
+     (\ ..monad map  ..i64))]
 
   [nat Nat .nat]
   [int Int .int]
@@ -137,17 +137,17 @@
 
 (def: #export frac
   (Random Frac)
-  (:: ..monad map (|>> .i64 f.from-bits) ..nat))
+  (\ ..monad map (|>> .i64 f.from-bits) ..nat))
 
 (def: #export safe-frac
   (Random Frac)
   (let [mantissa-range (.int (i64.left-shift 53 1))
         mantissa-max (i.frac (dec mantissa-range))]
-    (:: ..monad map
-        (|>> (i.% mantissa-range)
-             i.frac
-             (f./ mantissa-max))
-        ..int)))
+    (\ ..monad map
+       (|>> (i.% mantissa-range)
+            i.frac
+            (f./ mantissa-max))
+       ..int)))
 
 (def: #export (char set)
   (-> unicode.Set (Random Char))
@@ -156,13 +156,13 @@
         in-range (: (-> Char Char)
                     (|>> (n.% size) (n.+ start)))]
     (|> ..nat
-        (:: ..monad map in-range)
+        (\ ..monad map in-range)
         (..filter (unicode.member? set)))))
 
 (def: #export (text char-gen size)
   (-> (Random Char) Nat (Random Text))
   (if (n.= 0 size)
-    (:: ..monad wrap "")
+    (\ ..monad wrap "")
     (do ..monad
       [x char-gen
        xs (text char-gen (dec size))]
@@ -248,7 +248,7 @@
          [x value-gen
           xs ( (dec size) value-gen)]
          (wrap ( x xs)))
-       (:: ..monad wrap )))]
+       (\ ..monad wrap )))]
 
   [list     List   (.list)      #.Cons]
   [row Row row.empty row.add]
@@ -278,7 +278,7 @@
           (if (n.= size (set.size xs+))
             (wrap xs+)
             (recur [])))))
-    (:: ..monad wrap (set.new Hash))))
+    (\ ..monad wrap (set.new Hash))))
 
 (def: #export (dictionary Hash size key-gen value-gen)
   (All [k v] (-> (Hash k) Nat (Random k) (Random v) (Random (Dictionary k v))))
@@ -293,19 +293,19 @@
           (if (n.= size (dictionary.size kv+))
             (wrap kv+)
             (recur [])))))
-    (:: ..monad wrap (dictionary.new Hash))))
+    (\ ..monad wrap (dictionary.new Hash))))
 
 (def: #export instant
   (Random Instant)
-  (:: ..monad map instant.from-millis ..int))
+  (\ ..monad map instant.from-millis ..int))
 
 (def: #export date
   (Random Date)
-  (:: ..monad map instant.date ..instant))
+  (\ ..monad map instant.date ..instant))
 
 (def: #export duration
   (Random Duration)
-  (:: ..monad map duration.from-millis ..int))
+  (\ ..monad map duration.from-millis ..int))
 
 (def: #export month
   (Random Month)
diff --git a/stdlib/source/lux/meta.lux b/stdlib/source/lux/meta.lux
index 248cef7f2..82fa1e10f 100644
--- a/stdlib/source/lux/meta.lux
+++ b/stdlib/source/lux/meta.lux
@@ -189,7 +189,7 @@
       (wrap [module-name name]))
 
     _
-    (:: ..monad wrap name)))
+    (\ ..monad wrap name)))
 
 (def: #export (find-macro full-name)
   (-> Name (Meta (Maybe Macro)))
@@ -213,10 +213,10 @@
         ((:coerce Macro' macro) args)
         
         #.None
-        (:: ..monad wrap (list syntax))))
+        (\ ..monad wrap (list syntax))))
 
     _
-    (:: ..monad wrap (list syntax))))
+    (\ ..monad wrap (list syntax))))
 
 (def: #export (expand syntax)
   {#.doc (doc "Given code that requires applying a macro, expands repeatedly until no more direct macro-calls are left."
@@ -234,10 +234,10 @@
           (wrap (list\join expansion')))
         
         #.None
-        (:: ..monad wrap (list syntax))))
+        (\ ..monad wrap (list syntax))))
 
     _
-    (:: ..monad wrap (list syntax))))
+    (\ ..monad wrap (list syntax))))
 
 (def: #export (expand-all syntax)
   {#.doc "Expands all macro-calls everywhere recursively, until only primitive/base code remains."}
@@ -270,7 +270,7 @@
       (wrap (list (code.tuple (list\join members')))))
 
     _
-    (:: ..monad wrap (list syntax))))
+    (\ ..monad wrap (list syntax))))
 
 (def: #export count
   (Meta Nat)
@@ -285,7 +285,7 @@
   (do ..monad
     [id ..count]
     (wrap (|> id
-              (:: n.decimal encode)
+              (\ n.decimal encode)
               ($_ text\compose "__gensym__" prefix)
               [""] code.identifier))))
 
@@ -293,7 +293,7 @@
   (-> Code (Meta Text))
   (case ast
     [_ (#.Identifier [_ name])]
-    (:: ..monad wrap name)
+    (\ ..monad wrap name)
 
     _
     (fail (text\compose "Code is not a local identifier: " (code.format ast)))))
@@ -382,7 +382,7 @@
         (#try.Success [compiler type'])))
 
     _
-    (:: ..monad wrap type)))
+    (\ ..monad wrap type)))
 
 (def: #export (find-var-type name)
   {#.doc "Looks-up the type of a local variable somewhere in the environment."}
@@ -507,15 +507,15 @@
 (def: #export (definitions module)
   {#.doc "The entire list of definitions in a module (including the non-exported/private ones)."}
   (-> Text (Meta (List [Text Definition])))
-  (:: ..monad map
-      (list.all (function (_ [name global])
-                  (case global
-                    (#.Left de-aliased)
-                    #.None
-                    
-                    (#.Right definition)
-                    (#.Some [name definition]))))
-      (..globals module)))
+  (\ ..monad map
+     (list.all (function (_ [name global])
+                 (case global
+                   (#.Left de-aliased)
+                   #.None
+                   
+                   (#.Right definition)
+                   (#.Some [name definition]))))
+     (..globals module)))
 
 (def: #export (exports module-name)
   {#.doc "All the exported definitions in a module."}
diff --git a/stdlib/source/lux/target/jvm/bytecode.lux b/stdlib/source/lux/target/jvm/bytecode.lux
index 80121e692..af843c6cf 100644
--- a/stdlib/source/lux/target/jvm/bytecode.lux
+++ b/stdlib/source/lux/target/jvm/bytecode.lux
@@ -92,7 +92,7 @@
             (do try.monad
               [[left-exceptions left-instruction] (left resolver)
                [right-exceptions right-instruction] (right resolver)]
-              (wrap [(:: row.monoid compose left-exceptions right-exceptions)
+              (wrap [(\ row.monoid compose left-exceptions right-exceptions)
                      (_\compose left-instruction right-instruction)]))))))
 
 (type: #export (Bytecode a)
@@ -579,7 +579,7 @@
   (-> Nat (Bytecode Register))
   (case (//unsigned.u1 id)
     (#try.Success register)
-    (:: ..monad wrap register)
+    (\ ..monad wrap register)
     
     (#try.Failure error)
     (..throw ..invalid-register [id])))
@@ -690,16 +690,16 @@
 (def: (jump @from @to)
   (-> Address Address (Try Any-Jump))
   (do {! try.monad}
-    [jump (:: ! map //signed.value
-              (/address.jump @from @to))]
+    [jump (\ ! map //signed.value
+             (/address.jump @from @to))]
     (let [big? (n.> (//unsigned.value //unsigned.maximum/2)
                     (.nat (i.* (if (i.>= +0 jump)
                                  +1
                                  -1)
                                jump)))]
       (if big?
-        (:: ! map (|>> #.Left) (//signed.s4 jump))
-        (:: ! map (|>> #.Right) (//signed.s2 jump))))))
+        (\ ! map (|>> #.Left) (//signed.s4 jump))
+        (\ ! map (|>> #.Right) (//signed.s2 jump))))))
 
 (exception: #export (unset-label {label Label})
   (exception.report
@@ -747,7 +747,7 @@
                          (do try.monad
                            [[expected @to] (..resolve-label label resolver)
                             _ (exception.assert ..mismatched-environments [(name-of ) label @here expected actual]
-                                                (:: /stack.equivalence = expected actual))
+                                                (\ /stack.equivalence = expected actual))
                             jump (..jump @from @to)]
                            (case jump
                              (#.Left jump)
@@ -798,7 +798,7 @@
                          (#.Some [expected (#.Some @to)])
                          (do try.monad
                            [_ (exception.assert ..mismatched-environments [(name-of ) label @here expected actual]
-                                                (:: /stack.equivalence = expected actual))
+                                                (\ /stack.equivalence = expected actual))
                             jump (..jump @from @to)]
                            (case jump
                              (#.Left jump)
@@ -860,9 +860,9 @@
                               (wrap [@default @at-minimum @afterwards]))
                         (#.Some [@default @at-minimum @afterwards])
                         (do {! try.monad}
-                          [>default (:: ! map ..big-jump (..jump @from @default))
-                           >at-minimum (:: ! map ..big-jump (..jump @from @at-minimum))
-                           >afterwards (monad.map ! (|>> (..jump @from) (:: ! map ..big-jump))
+                          [>default (\ ! map ..big-jump (..jump @from @default))
+                           >at-minimum (\ ! map ..big-jump (..jump @from @at-minimum))
+                           >afterwards (monad.map ! (|>> (..jump @from) (\ ! map ..big-jump))
                                                   @afterwards)]
                           (wrap [..no-exceptions (bytecode minimum >default [>at-minimum >afterwards])]))
 
@@ -902,10 +902,10 @@
                               (wrap [@default @cases]))
                         (#.Some [@default @cases])
                         (do {! try.monad}
-                          [>default (:: ! map ..big-jump (..jump @from @default))
+                          [>default (\ ! map ..big-jump (..jump @from @default))
                            >cases (|> @cases
-                                      (monad.map ! (|>> (..jump @from) (:: ! map ..big-jump)))
-                                      (:: ! map (|>> (list.zip/2 (list\map product.left cases)))))]
+                                      (monad.map ! (|>> (..jump @from) (\ ! map ..big-jump)))
+                                      (\ ! map (|>> (list.zip/2 (list\map product.left cases)))))]
                           (wrap [..no-exceptions (bytecode >default >cases)]))
 
                         #.None
diff --git a/stdlib/source/lux/target/jvm/bytecode/address.lux b/stdlib/source/lux/target/jvm/bytecode/address.lux
index be848db29..9f003db8d 100644
--- a/stdlib/source/lux/target/jvm/bytecode/address.lux
+++ b/stdlib/source/lux/target/jvm/bytecode/address.lux
@@ -36,7 +36,7 @@
     (-> U2 (-> Address (Try Address)))
     (|>> :representation
          (///unsigned.+/2 distance)
-         (:: try.functor map (|>> :abstraction))))
+         (\ try.functor map (|>> :abstraction))))
 
   (def: with-sign
     (-> Address (Try S4))
@@ -58,9 +58,9 @@
     (Equivalence Address)
     
     (def: (= reference subject)
-      (:: ///unsigned.equivalence =
-          (:representation reference)
-          (:representation subject))))
+      (\ ///unsigned.equivalence =
+         (:representation reference)
+         (:representation subject))))
 
   (def: #export writer
     (Writer Address)
diff --git a/stdlib/source/lux/target/jvm/bytecode/environment.lux b/stdlib/source/lux/target/jvm/bytecode/environment.lux
index 7ebacf5de..7d70bdd81 100644
--- a/stdlib/source/lux/target/jvm/bytecode/environment.lux
+++ b/stdlib/source/lux/target/jvm/bytecode/environment.lux
@@ -71,7 +71,7 @@
   (-> Stack Environment (Try [Stack Environment]))
   (case (get@ #..stack environment)
     (#.Some actual)
-    (if (:: /stack.equivalence = expected actual)
+    (if (\ /stack.equivalence = expected actual)
       (#try.Success [actual environment])
       (exception.throw ..mismatched-stacks [expected actual]))
 
diff --git a/stdlib/source/lux/target/jvm/bytecode/environment/limit/registry.lux b/stdlib/source/lux/target/jvm/bytecode/environment/limit/registry.lux
index 0550897db..a0b8b67ab 100644
--- a/stdlib/source/lux/target/jvm/bytecode/environment/limit/registry.lux
+++ b/stdlib/source/lux/target/jvm/bytecode/environment/limit/registry.lux
@@ -57,9 +57,9 @@
 
   (def: #export equivalence
     (Equivalence Registry)
-    (:: equivalence.functor map
-        (|>> :representation)
-        /////unsigned.equivalence))
+    (\ equivalence.functor map
+       (|>> :representation)
+       /////unsigned.equivalence))
 
   (def: #export writer
     (Writer Registry)
diff --git a/stdlib/source/lux/target/jvm/bytecode/environment/limit/stack.lux b/stdlib/source/lux/target/jvm/bytecode/environment/limit/stack.lux
index 9d9822e5b..e561d2a04 100644
--- a/stdlib/source/lux/target/jvm/bytecode/environment/limit/stack.lux
+++ b/stdlib/source/lux/target/jvm/bytecode/environment/limit/stack.lux
@@ -30,9 +30,9 @@
 
   (def: #export equivalence
     (Equivalence Stack)
-    (:: equivalence.functor map
-        (|>> :representation)
-        /////unsigned.equivalence))
+    (\ equivalence.functor map
+       (|>> :representation)
+       /////unsigned.equivalence))
 
   (def: #export writer
     (Writer Stack)
@@ -47,7 +47,7 @@
        (-> U2 (-> Stack (Try Stack)))
        (|>> :representation
             ( amount)
-            (:: try.functor map ..stack)))]
+            (\ try.functor map ..stack)))]
 
     [/////unsigned.+/2 push]
     [/////unsigned.-/2 pop]
diff --git a/stdlib/source/lux/target/jvm/bytecode/instruction.lux b/stdlib/source/lux/target/jvm/bytecode/instruction.lux
index eac3f8651..f72314163 100644
--- a/stdlib/source/lux/target/jvm/bytecode/instruction.lux
+++ b/stdlib/source/lux/target/jvm/bytecode/instruction.lux
@@ -603,8 +603,8 @@
                  tableswitch-size (try.assume
                                    (do {! try.monad}
                                      [size (///unsigned.u2 size)]
-                                     (:: ! map (|>> estimator ///unsigned.value)
-                                         (//address.move size //address.start))))
+                                     (\ ! map (|>> estimator ///unsigned.value)
+                                        (//address.move size //address.start))))
                  tableswitch-mutation (: Mutation
                                          (function (_ [offset binary])
                                            [(n.+ tableswitch-size offset)
@@ -667,8 +667,8 @@
                  lookupswitch-size (try.assume
                                     (do {! try.monad}
                                       [size (///unsigned.u2 size)]
-                                      (:: ! map (|>> estimator ///unsigned.value)
-                                          (//address.move size //address.start))))
+                                      (\ ! map (|>> estimator ///unsigned.value)
+                                         (//address.move size //address.start))))
                  lookupswitch-mutation (: Mutation
                                           (function (_ [offset binary])
                                             [(n.+ lookupswitch-size offset)
diff --git a/stdlib/source/lux/target/jvm/constant.lux b/stdlib/source/lux/target/jvm/constant.lux
index c58608867..8cac4b1c6 100644
--- a/stdlib/source/lux/target/jvm/constant.lux
+++ b/stdlib/source/lux/target/jvm/constant.lux
@@ -49,9 +49,9 @@
 
   (def: #export class-equivalence
     (Equivalence Class)
-    (:: equivalence.functor map
-        ..index
-        //index.equivalence))
+    (\ equivalence.functor map
+       ..index
+       //index.equivalence))
 
   (def: class-writer
     (Writer Class)
@@ -89,9 +89,9 @@
     (All [kind]
       (-> (Equivalence kind)
           (Equivalence (Value kind))))
-    (:: equivalence.functor map
-        (|>> :representation)
-        Equivalence))
+    (\ equivalence.functor map
+       (|>> :representation)
+       Equivalence))
 
   (template [  ]
     [(type: #export  (Value ))
@@ -178,7 +178,7 @@
      (case [reference sample]
        (^template [ ]
          [[( reference) ( sample)]
-          (::  = reference sample)])
+          (\  = reference sample)])
        ([#UTF8 text.equivalence]
         [#Integer (..value-equivalence i32.equivalence)]
         [#Long (..value-equivalence int.equivalence)]
diff --git a/stdlib/source/lux/target/jvm/constant/pool.lux b/stdlib/source/lux/target/jvm/constant/pool.lux
index b47eb51ab..44de4ea29 100644
--- a/stdlib/source/lux/target/jvm/constant/pool.lux
+++ b/stdlib/source/lux/target/jvm/constant/pool.lux
@@ -56,7 +56,7 @@
             (#try.Success entry)
             (case entry
               [index ( reference)]
-              (if (::  = reference ')
+              (if (\  = reference ')
                 (#try.Success [[current pool]
                                index])
                 )
@@ -72,7 +72,7 @@
                          (|> current
                              //index.value
                              (//unsigned.+/2 @new)
-                             (:: ! map //index.index)))]
+                             (\ ! map //index.index)))]
                 (wrap [[next
                         (row.add [current new] pool)]
                        current])))))))))
diff --git a/stdlib/source/lux/target/jvm/index.lux b/stdlib/source/lux/target/jvm/index.lux
index eb0357b66..c4f0ec9d1 100644
--- a/stdlib/source/lux/target/jvm/index.lux
+++ b/stdlib/source/lux/target/jvm/index.lux
@@ -27,9 +27,9 @@
 
   (def: #export equivalence
     (All [kind] (Equivalence (Index kind)))
-    (:: equivalence.functor map
-        ..value
-        //unsigned.equivalence))
+    (\ equivalence.functor map
+       ..value
+       //unsigned.equivalence))
 
   (def: #export writer
     (All [kind] (Writer (Index kind)))
diff --git a/stdlib/source/lux/target/jvm/method.lux b/stdlib/source/lux/target/jvm/method.lux
index 2fcf44784..3d0e9c907 100644
--- a/stdlib/source/lux/target/jvm/method.lux
+++ b/stdlib/source/lux/target/jvm/method.lux
@@ -58,7 +58,7 @@
      @descriptor (//constant/pool.descriptor (//type.descriptor type))
      attributes (|> attributes
                     (monad.seq !)
-                    (:: ! map row.from-list))
+                    (\ ! map row.from-list))
      attributes (case code
                   (#.Some code)
                   (do !
diff --git a/stdlib/source/lux/target/jvm/modifier.lux b/stdlib/source/lux/target/jvm/modifier.lux
index cd6d2671f..1434a95a4 100644
--- a/stdlib/source/lux/target/jvm/modifier.lux
+++ b/stdlib/source/lux/target/jvm/modifier.lux
@@ -32,9 +32,9 @@
   (structure: #export equivalence
     (All [of] (Equivalence (Modifier of)))
     (def: (= reference sample)
-      (:: //unsigned.equivalence =
-          (:representation reference)
-          (:representation sample))))
+      (\ //unsigned.equivalence =
+         (:representation reference)
+         (:representation sample))))
 
   (template: (!wrap value)
     (|> value
@@ -52,7 +52,7 @@
     (let [sub (!unwrap sub)]
       (|> (!unwrap super)
           (i64.and sub)
-          (:: i64.equivalence = sub))))
+          (\ i64.equivalence = sub))))
 
   (structure: #export monoid
     (All [of] (Monoid (Modifier of)))
@@ -65,7 +65,7 @@
 
   (def: #export empty
     Modifier
-    (:: ..monoid identity))
+    (\ ..monoid identity))
 
   (def: #export writer
     (All [of] (Writer (Modifier of)))
diff --git a/stdlib/source/lux/target/jvm/reflection.lux b/stdlib/source/lux/target/jvm/reflection.lux
index 12c310bca..4dfdbc30c 100644
--- a/stdlib/source/lux/target/jvm/reflection.lux
+++ b/stdlib/source/lux/target/jvm/reflection.lux
@@ -31,65 +31,76 @@
 (import: java/lang/String)
 
 (import: java/lang/Object
-  (toString [] java/lang/String)
-  (getClass [] (java/lang/Class java/lang/Object)))
+  ["#::."
+   (toString [] java/lang/String)
+   (getClass [] (java/lang/Class java/lang/Object))])
 
 (import: java/lang/reflect/Type
-  (getTypeName [] java/lang/String))
+  ["#::."
+   (getTypeName [] java/lang/String)])
 
 (import: java/lang/reflect/GenericArrayType
-  (getGenericComponentType [] java/lang/reflect/Type))
+  ["#::."
+   (getGenericComponentType [] java/lang/reflect/Type)])
 
 (import: java/lang/reflect/ParameterizedType
-  (getRawType [] java/lang/reflect/Type)
-  (getActualTypeArguments [] [java/lang/reflect/Type]))
+  ["#::."
+   (getRawType [] java/lang/reflect/Type)
+   (getActualTypeArguments [] [java/lang/reflect/Type])])
 
 (import: (java/lang/reflect/TypeVariable d)
-  (getName [] java/lang/String)
-  (getBounds [] [java/lang/reflect/Type]))
+  ["#::."
+   (getName [] java/lang/String)
+   (getBounds [] [java/lang/reflect/Type])])
 
 (import: (java/lang/reflect/WildcardType d)
-  (getLowerBounds [] [java/lang/reflect/Type])
-  (getUpperBounds [] [java/lang/reflect/Type]))
+  ["#::."
+   (getLowerBounds [] [java/lang/reflect/Type])
+   (getUpperBounds [] [java/lang/reflect/Type])])
 
 (import: java/lang/reflect/Modifier
-  (#static isStatic [int] boolean)
-  (#static isFinal [int] boolean)
-  (#static isInterface [int] boolean)
-  (#static isAbstract [int] boolean))
+  ["#::."
+   (#static isStatic [int] boolean)
+   (#static isFinal [int] boolean)
+   (#static isInterface [int] boolean)
+   (#static isAbstract [int] boolean)])
 
 (import: java/lang/reflect/Field
-  (getDeclaringClass [] (java/lang/Class java/lang/Object))
-  (getModifiers [] int)
-  (getGenericType [] java/lang/reflect/Type))
+  ["#::."
+   (getDeclaringClass [] (java/lang/Class java/lang/Object))
+   (getModifiers [] int)
+   (getGenericType [] java/lang/reflect/Type)])
 
 (import: java/lang/reflect/Method
-  (getName [] java/lang/String)
-  (getModifiers [] int)
-  (getDeclaringClass [] (java/lang/Class java/lang/Object))
-  (getTypeParameters [] [(java/lang/reflect/TypeVariable java/lang/reflect/Method)])
-  (getGenericParameterTypes [] [java/lang/reflect/Type])
-  (getGenericReturnType [] java/lang/reflect/Type)
-  (getGenericExceptionTypes [] [java/lang/reflect/Type]))
+  ["#::."
+   (getName [] java/lang/String)
+   (getModifiers [] int)
+   (getDeclaringClass [] (java/lang/Class java/lang/Object))
+   (getTypeParameters [] [(java/lang/reflect/TypeVariable java/lang/reflect/Method)])
+   (getGenericParameterTypes [] [java/lang/reflect/Type])
+   (getGenericReturnType [] java/lang/reflect/Type)
+   (getGenericExceptionTypes [] [java/lang/reflect/Type])])
 
 (import: (java/lang/reflect/Constructor c)
-  (getModifiers [] int)
-  (getDeclaringClass [] (java/lang/Class c))
-  (getTypeParameters [] [(java/lang/reflect/TypeVariable (java/lang/reflect/Constructor c))])
-  (getGenericParameterTypes [] [java/lang/reflect/Type])
-  (getGenericExceptionTypes [] [java/lang/reflect/Type]))
+  ["#::."
+   (getModifiers [] int)
+   (getDeclaringClass [] (java/lang/Class c))
+   (getTypeParameters [] [(java/lang/reflect/TypeVariable (java/lang/reflect/Constructor c))])
+   (getGenericParameterTypes [] [java/lang/reflect/Type])
+   (getGenericExceptionTypes [] [java/lang/reflect/Type])])
 
 (import: (java/lang/Class c)
-  (#static forName [java/lang/String] #try (java/lang/Class java/lang/Object))
-  (getName [] java/lang/String)
-  (getModifiers [] int)
-  (isAssignableFrom [(java/lang/Class java/lang/Object)] boolean)
-  (getTypeParameters [] [(java/lang/reflect/TypeVariable (java/lang/Class c))])
-  (getGenericInterfaces [] [java/lang/reflect/Type])
-  (getGenericSuperclass [] #? java/lang/reflect/Type)
-  (getDeclaredField [java/lang/String] #try java/lang/reflect/Field)
-  (getConstructors [] [(java/lang/reflect/Constructor java/lang/Object)])
-  (getDeclaredMethods [] [java/lang/reflect/Method]))
+  ["#::."
+   (#static forName [java/lang/String] #try (java/lang/Class java/lang/Object))
+   (getName [] java/lang/String)
+   (getModifiers [] int)
+   (isAssignableFrom [(java/lang/Class java/lang/Object)] boolean)
+   (getTypeParameters [] [(java/lang/reflect/TypeVariable (java/lang/Class c))])
+   (getGenericInterfaces [] [java/lang/reflect/Type])
+   (getGenericSuperclass [] #? java/lang/reflect/Type)
+   (getDeclaredField [java/lang/String] #try java/lang/reflect/Field)
+   (getConstructors [] [(java/lang/reflect/Constructor java/lang/Object)])
+   (getDeclaredMethods [] [java/lang/reflect/Method])])
 
 (exception: #export (unknown-class {class External})
   (exception.report
@@ -188,7 +199,7 @@
                (#try.Success /.wildcard)
 
                _
-               (:: try.monad map  (..class' parameter bound)))])
+               (\ try.monad map  (..class' parameter bound)))])
           ([[_ (#.Some bound)] /.upper]
            [[(#.Some bound) _] /.lower])
           
@@ -231,7 +242,7 @@
         (|> reflection
             java/lang/reflect/GenericArrayType::getGenericComponentType
             type
-            (:: try.monad map /.array))
+            (\ try.monad map /.array))
         _)
       ## else
       (..parameter reflection)))
@@ -348,7 +359,7 @@
           (|> fieldJ
                      java/lang/reflect/Field::getGenericType
                      ..type
-                     (:: ! map (|>> [(java/lang/reflect/Modifier::isFinal modifiers)])))
+                     (\ ! map (|>> [(java/lang/reflect/Modifier::isFinal modifiers)])))
           (exception.throw  [field class]))))]
 
   [static-field ..not-a-static-field #1 #0]
diff --git a/stdlib/source/lux/target/jvm/type.lux b/stdlib/source/lux/target/jvm/type.lux
index 389bc5559..fbddbac7d 100644
--- a/stdlib/source/lux/target/jvm/type.lux
+++ b/stdlib/source/lux/target/jvm/type.lux
@@ -145,21 +145,21 @@
     (All [category] (Equivalence (Type category)))
 
     (def: (= parameter subject)
-      (:: /signature.equivalence =
-          (..signature parameter)
-          (..signature subject))))
+      (\ /signature.equivalence =
+         (..signature parameter)
+         (..signature subject))))
 
   (structure: #export hash
     (All [category] (Hash (Type category)))
 
     (def: &equivalence ..equivalence)
-    (def: hash (|>> ..signature (:: /signature.hash hash))))
+    (def: hash (|>> ..signature (\ /signature.hash hash))))
 
   (def: #export (primitive? type)
     (-> (Type Value) (Either (Type Object)
                              (Type Primitive)))
     (if (`` (or (~~ (template []
-                      [(:: ..equivalence = (: (Type Value) ) type)]
+                      [(\ ..equivalence = (: (Type Value) ) type)]
                       
                       [..boolean]
                       [..byte]
@@ -176,7 +176,7 @@
     (-> (Type Return) (Either (Type Value)
                               (Type Void)))
     (if (`` (or (~~ (template []
-                      [(:: ..equivalence = (: (Type Return) ) type)]
+                      [(\ ..equivalence = (: (Type Return) ) type)]
                       
                       [..void]))))
       (|> type (:coerce (Type Void)) #.Right)
@@ -192,7 +192,7 @@
           (text.clip (text.size /descriptor.class-prefix)
                      (n.- (text.size /descriptor.class-suffix)
                           (text.size repr)))
-          (:: maybe.monad map (|>> //name.internal //name.external)))
+          (\ maybe.monad map (|>> //name.internal //name.external)))
       #.None)))
 
 (def: #export format
diff --git a/stdlib/source/lux/target/jvm/type/alias.lux b/stdlib/source/lux/target/jvm/type/alias.lux
index f384a0ea1..9439f7d64 100644
--- a/stdlib/source/lux/target/jvm/type/alias.lux
+++ b/stdlib/source/lux/target/jvm/type/alias.lux
@@ -55,7 +55,7 @@
   [(def: 
      (-> (Parser (Type Class)) (Parser (Type Parameter)))
      (|>> (<>.after (.this ))
-          (:: <>.monad map )))]
+          (\ <>.monad map )))]
 
   [lower //signature.lower-prefix //.lower ..Lower]
   [upper //signature.upper-prefix //.upper ..Upper]
diff --git a/stdlib/source/lux/target/jvm/type/descriptor.lux b/stdlib/source/lux/target/jvm/type/descriptor.lux
index 88feb606f..4b7809028 100644
--- a/stdlib/source/lux/target/jvm/type/descriptor.lux
+++ b/stdlib/source/lux/target/jvm/type/descriptor.lux
@@ -115,6 +115,6 @@
                 (text.clip prefix-size
                            (n.- suffix-size
                                 (text.size repr)))
-                (:: maybe.monad map ///name.internal)
+                (\ maybe.monad map ///name.internal)
                 maybe.assume))))))
   )
diff --git a/stdlib/source/lux/target/jvm/type/parser.lux b/stdlib/source/lux/target/jvm/type/parser.lux
index db1c018b8..67fc2aec1 100644
--- a/stdlib/source/lux/target/jvm/type/parser.lux
+++ b/stdlib/source/lux/target/jvm/type/parser.lux
@@ -70,9 +70,9 @@
 (template [    ]
   [(def: #export 
      (Parser )
-     (:: <>.functor map 
-         (.slice (.and! (.one-of! )
-                              (.some! (.one-of! ))))))]
+     (\ <>.functor map 
+        (.slice (.and! (.one-of! )
+                             (.some! (.one-of! ))))))]
 
   [External class-name class/head class/tail (|>> //name.internal //name.external)]
   [Text     var-name   var/head   var/tail   function.identity]
@@ -127,7 +127,7 @@
 (def: class'
   (-> (Parser (Type Parameter)) (Parser (Type Class)))
   (|>> ..class''
-       (:: <>.monad map (product.uncurry //.class))))
+       (\ <>.monad map (product.uncurry //.class))))
 
 (def: #export parameter
   (Parser (Type Parameter))
diff --git a/stdlib/source/lux/target/jvm/type/reflection.lux b/stdlib/source/lux/target/jvm/type/reflection.lux
index b21451d93..73d5c2154 100644
--- a/stdlib/source/lux/target/jvm/type/reflection.lux
+++ b/stdlib/source/lux/target/jvm/type/reflection.lux
@@ -62,7 +62,7 @@
                              element'
                              
                              (~~ (template [ ]
-                                   [(:: ..equivalence =  element)
+                                   [(\ ..equivalence =  element)
                                     (//descriptor.descriptor )]
 
                                    [..boolean //descriptor.boolean]
diff --git a/stdlib/source/lux/test.lux b/stdlib/source/lux/test.lux
index 6ac155b40..7da6195f4 100644
--- a/stdlib/source/lux/test.lux
+++ b/stdlib/source/lux/test.lux
@@ -118,11 +118,11 @@
 (def: #export (test message condition)
   {#.doc "Check that a condition is #1, and fail with the given message otherwise."}
   (-> Text Bit Test)
-  (:: random.monad wrap (assert message condition)))
+  (\ random.monad wrap (assert message condition)))
 
 (def: #export (lift message random)
   (-> Text (Random Bit) Test)
-  (:: random.monad map (..assert message) random))
+  (\ random.monad map (..assert message) random))
 
 (def: pcg-32-magic-inc Nat 12345)
 
@@ -177,7 +177,7 @@
                                    (get@ #actual-coverage counters))
         report (: (-> (Set Name) Text)
                   (|>> set.to-list
-                       (list.sort (:: name.order <))
+                       (list.sort (\ name.order <))
                        (exception.enumerate %.name)))
         expected-definitions-to-cover (set.size (get@ #expected-coverage counters))
         unexpected-definitions-covered (set.size unexpected)
@@ -250,7 +250,7 @@
 (def: (|cover| coverage condition)
   (-> (List Name) Bit Test)
   (|> (..|cover'| coverage condition)
-      (:: random.monad wrap)))
+      (\ random.monad wrap)))
 
 (def: (|with-cover| coverage test)
   (-> (List Name) Test Test)
diff --git a/stdlib/source/lux/time.lux b/stdlib/source/lux/time.lux
index 33f830703..70b053a79 100644
--- a/stdlib/source/lux/time.lux
+++ b/stdlib/source/lux/time.lux
@@ -51,7 +51,7 @@
   (<>.either (|> (.at-most 3 .decimal)
                  (<>.codec n.decimal)
                  (<>.after (.this ".")))
-             (:: <>.monad wrap 0)))
+             (\ <>.monad wrap 0)))
 
 (template [   ]
   [(exception: #export ( {value Nat})
diff --git a/stdlib/source/lux/time/date.lux b/stdlib/source/lux/time/date.lux
index 2963cdeba..6e7642fe3 100644
--- a/stdlib/source/lux/time/date.lux
+++ b/stdlib/source/lux/time/date.lux
@@ -53,7 +53,7 @@
    ["Value" (n\encode day)]
    ["Minimum" (n\encode ..minimum-day)]
    ["Maximum" (n\encode (..month-days year month))]
-   ["Year" (:: //year.codec encode year)]
+   ["Year" (\ //year.codec encode year)]
    ["Month" (n\encode (//month.number month))]))
 
 (def: (pad value)
@@ -97,12 +97,12 @@
     (def: (= reference sample)
       (let [reference (:representation reference)
             sample (:representation sample)]
-        (and (:: //year.equivalence =
-                 (get@ #year reference)
-                 (get@ #year sample))
-             (:: //month.equivalence =
-                 (get@ #month reference)
-                 (get@ #month sample))
+        (and (\ //year.equivalence =
+                (get@ #year reference)
+                (get@ #year sample))
+             (\ //month.equivalence =
+                (get@ #month reference)
+                (get@ #month sample))
              (n.= (get@ #day reference)
                   (get@ #day sample))))))
 
@@ -114,18 +114,18 @@
     (def: (< reference sample)
       (let [reference (:representation reference)
             sample (:representation sample)]
-        (or (:: //year.order <
-                (get@ #year reference)
-                (get@ #year sample))
-            (and (:: //year.equivalence =
-                     (get@ #year reference)
-                     (get@ #year sample))
-                 (or (:: //month.order <
-                         (get@ #month reference)
-                         (get@ #month sample))
-                     (and (:: //month.order =
-                              (get@ #month reference)
-                              (get@ #month sample))
+        (or (\ //year.order <
+               (get@ #year reference)
+               (get@ #year sample))
+            (and (\ //year.equivalence =
+                    (get@ #year reference)
+                    (get@ #year sample))
+                 (or (\ //month.order <
+                        (get@ #month reference)
+                        (get@ #month sample))
+                     (and (\ //month.order =
+                             (get@ #month reference)
+                             (get@ #month sample))
                           (n.< (get@ #day reference)
                                (get@ #day sample)))))))))
   )
@@ -139,7 +139,7 @@
   (<>.either (|> (.at-most 3 .decimal)
                  (<>.codec n.decimal)
                  (<>.after (.this ".")))
-             (:: <>.monad wrap 0)))
+             (\ <>.monad wrap 0)))
 
 (template [   ]
   [(exception: #export ( {value Nat})
@@ -174,7 +174,7 @@
 (def: (encode value)
   (-> Date Text)
   ($_ text\compose
-      (:: //year.codec encode (..year value))
+      (\ //year.codec encode (..year value))
       ..separator (..pad (|> value ..month //month.number))
       ..separator (..pad (..day-of-month value))))
 
diff --git a/stdlib/source/lux/time/duration.lux b/stdlib/source/lux/time/duration.lux
index f0bda31ba..9c5d70d71 100644
--- a/stdlib/source/lux/time/duration.lux
+++ b/stdlib/source/lux/time/duration.lux
@@ -127,11 +127,11 @@
   )
 
 (def: (encode duration)
-  (if (:: ..equivalence = ..empty duration)
+  (if (\ ..equivalence = ..empty duration)
     ($_ text\compose
         ..positive-sign
         (nat\encode 0)
-        milli-second-suffix)
+        ..milli-second-suffix)
     (let [signed? (negative? duration)
           [days time-left] [(query day duration) (frame day duration)]
           days (if signed?
diff --git a/stdlib/source/lux/time/instant.lux b/stdlib/source/lux/time/instant.lux
index 0dd2c030b..7c63b7d31 100644
--- a/stdlib/source/lux/time/instant.lux
+++ b/stdlib/source/lux/time/instant.lux
@@ -61,14 +61,14 @@
     (Equivalence Instant)
     
     (def: (= param subject)
-      (:: i.equivalence = (:representation param) (:representation subject))))
+      (\ i.equivalence = (:representation param) (:representation subject))))
 
   (structure: #export order
     (Order Instant)
     
     (def: &equivalence ..equivalence)
     (def: (< param subject)
-      (:: i.order < (:representation param) (:representation subject))))
+      (\ i.order < (:representation param) (:representation subject))))
 
   (`` (structure: #export enum
         (Enum Instant)
@@ -76,7 +76,7 @@
         (def: &order ..order)
         (~~ (template []
               [(def: 
-                 (|>> :representation (:: i.enum ) :abstraction))]
+                 (|>> :representation (\ i.enum ) :abstraction))]
 
               [succ] [pred]
               ))))
@@ -112,7 +112,7 @@
 
 (def: (clock-time duration)
   (-> Duration Time)
-  (let [time (if (:: duration.order < duration.empty duration)
+  (let [time (if (\ duration.order < duration.empty duration)
                (duration.merge duration.day duration)
                duration)]
     (|> time duration.to-millis .nat //.from-millis try.assume)))
@@ -122,15 +122,15 @@
   (let [[date time] (..date-time instant)
         time (..clock-time time)]
     ($_ text\compose
-        (:: date.codec encode date) ..date-suffix
-        (:: //.codec encode time) ..time-suffix)))
+        (\ date.codec encode date) ..date-suffix
+        (\ //.codec encode time) ..time-suffix)))
 
 (def: parser
   (Parser Instant)
   (do {! <>.monad}
-    [days (:: ! map date.days date.parser)
+    [days (\ ! map date.days date.parser)
      _ (.this ..date-suffix)
-     time (:: ! map //.to-millis //.parser)
+     time (\ ! map //.to-millis //.parser)
      _ (.this ..time-suffix)]
     (wrap (|> (if (i.< +0 days)
                 (|> duration.day
diff --git a/stdlib/source/lux/tool/compiler/default/platform.lux b/stdlib/source/lux/tool/compiler/default/platform.lux
index b2225c718..7a99aa09b 100644
--- a/stdlib/source/lux/tool/compiler/default/platform.lux
+++ b/stdlib/source/lux/tool/compiler/default/platform.lux
@@ -100,8 +100,8 @@
                row.to-list
                (monad.map ..monad write-artifact!)
                (: (Action (List Any))))
-         document (:: promise.monad wrap
-                      (document.check $.key document))]
+         document (\ promise.monad wrap
+                     (document.check $.key document))]
         (ioW.cache system static module-id
                    (_.run ..writer [descriptor document])))))
 
@@ -180,7 +180,7 @@
                     _ (extension.with extender (:assume directives))]
                    (wrap []))})
         (///phase.run' state)
-        (:: try.monad map product.left)))
+        (\ try.monad map product.left)))
 
   (def: #export (initialize static module expander host-analysis platform generation-bundle host-directive-bundle program anchorT,expressionT,directiveT extender
                             import compilation-sources)
diff --git a/stdlib/source/lux/tool/compiler/language/lux.lux b/stdlib/source/lux/tool/compiler/language/lux.lux
index d300ec243..0d77cbe6c 100644
--- a/stdlib/source/lux/tool/compiler/language/lux.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux.lux
@@ -97,7 +97,7 @@
         ## #module-annotations
         (.maybe .code)
         ## #module-state
-        (:: <>.monad wrap #.Cached))))
+        (\ <>.monad wrap #.Cached))))
 
 (def: #export key
   (Key .Module)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/analysis.lux b/stdlib/source/lux/tool/compiler/language/lux/analysis.lux
index 34d8005e1..e6fea4ef1 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/analysis.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/analysis.lux
@@ -138,7 +138,7 @@
            (/\= reference-value sample-value))
       
       [(#Tuple reference) (#Tuple sample)]
-      (:: (list.equivalence /\=) = reference sample)
+      (\ (list.equivalence /\=) = reference sample)
 
       _
       false)))
@@ -147,19 +147,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))
       )))
 
 (structure: pattern-equivalence
@@ -168,10 +168,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)
@@ -183,8 +183,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))))
 
 (structure: #export equivalence
   (Equivalence Analysis)
@@ -192,23 +192,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 =)) = (#.Cons reference-match) (#.Cons sample-match)))
+           (\ (list.equivalence (branch-equivalence =)) = (#.Cons reference-match) (#.Cons 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])]
@@ -216,7 +216,7 @@
            (= reference-abstraction sample-abstraction))
 
       [(#Extension reference) (#Extension sample)]
-      (:: (extension.equivalence =) = reference sample)
+      (\ (extension.equivalence =) = reference sample)
 
       _
       false)))
@@ -474,7 +474,7 @@
 (def: #export (assert exception parameters condition)
   (All [e] (-> (Exception e) e Bit (Operation Any)))
   (if condition
-    (:: phase.monad wrap [])
+    (\ phase.monad wrap [])
     (..throw exception parameters)))
 
 (def: #export (fail' error)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/generation.lux b/stdlib/source/lux/tool/compiler/language/lux/generation.lux
index 0b4ab70b2..da24f66f3 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/generation.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/generation.lux
@@ -171,7 +171,7 @@
 (def: #export (gensym prefix)
   (All [anchor expression directive]
     (-> Text (Operation anchor expression directive Text)))
-  (:: phase.monad map (|>> %.nat (format prefix)) ..next))
+  (\ phase.monad map (|>> %.nat (format prefix)) ..next))
 
 (def: #export (enter-module module)
   (All [anchor expression directive]
@@ -187,7 +187,7 @@
   (All [anchor expression directive]
     (-> Context expression (Operation anchor expression directive Any)))
   (function (_ (^@ state+ [bundle state]))
-    (case (:: (get@ #host state) evaluate! label code)
+    (case (\ (get@ #host state) evaluate! label code)
       (#try.Success output)
       (#try.Success [state+ output])
 
@@ -198,7 +198,7 @@
   (All [anchor expression directive]
     (-> directive (Operation anchor expression directive Any)))
   (function (_ (^@ state+ [bundle state]))
-    (case (:: (get@ #host state) execute! code)
+    (case (\ (get@ #host state) execute! code)
       (#try.Success output)
       (#try.Success [state+ output])
 
@@ -209,7 +209,7 @@
   (All [anchor expression directive]
     (-> Context expression (Operation anchor expression directive [Text Any directive])))
   (function (_ (^@ stateE [bundle state]))
-    (case (:: (get@ #host state) define! context code)
+    (case (\ (get@ #host state) define! context code)
       (#try.Success output)
       (#try.Success [stateE output])
 
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/case.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/case.lux
index b550f9c5a..33cf36f32 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/case.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/case.lux
@@ -127,10 +127,10 @@
           type.flatten-tuple
           (list\map (re-quantify envs))
           type.tuple
-          (:: ///.monad wrap))
+          (\ ///.monad wrap))
 
       _
-      (:: ///.monad wrap (re-quantify envs caseT)))))
+      (\ ///.monad wrap (re-quantify envs caseT)))))
 
 (def: (analyse-primitive type inputT location output next)
   (All [a] (-> Type Type Location Pattern (Operation a) (Operation [Pattern a])))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux
index adf935a89..136decfa8 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux
@@ -188,7 +188,7 @@
       [(#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)
@@ -234,7 +234,7 @@
                  (not (n.= addition-cases so-far-cases)))
             (ex.throw variants-do-not-match [addition-cases so-far-cases])
 
-            (:: (dictionary.equivalence ..equivalence) = casesSF casesA)
+            (\ (dictionary.equivalence ..equivalence) = casesSF casesA)
             (ex.throw redundant-pattern [so-far addition])
 
             ## else
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/function.lux
index 8c5b74cff..b4c9ec016 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/function.lux
@@ -88,10 +88,10 @@
               ))
 
           (#.Function inputT outputT)
-          (<| (:: ! map (.function (_ [scope bodyA])
-                          (#/.Function (list\map (|>> /.variable)
-                                                 (//scope.environment scope))
-                                       bodyA)))
+          (<| (\ ! map (.function (_ [scope bodyA])
+                         (#/.Function (list\map (|>> /.variable)
+                                                (//scope.environment scope))
+                                      bodyA)))
               /.with-scope
               ## Functions have access not only to their argument, but
               ## also to themselves, through a local variable.
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux
index 848d0e96b..a306b178b 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux
@@ -173,11 +173,11 @@
                     (case [membersT+ membersC+]
                       [(#.Cons memberT #.Nil) _]
                       (//type.with-type memberT
-                        (:: ! map (|>> list) (analyse archive (code.tuple membersC+))))
+                        (\ ! map (|>> list) (analyse archive (code.tuple membersC+))))
                       
                       [_ (#.Cons memberC #.Nil)]
                       (//type.with-type (type.tuple membersT+)
-                        (:: ! map (|>> list) (analyse archive memberC)))
+                        (\ ! map (|>> list) (analyse archive memberC)))
                       
                       [(#.Cons memberT membersT+') (#.Cons memberC membersC+')]
                       (do !
@@ -301,7 +301,7 @@
   (case record
     ## empty-record = empty-tuple = unit = []
     #.Nil
-    (:: ///.monad wrap [(list) Any])
+    (\ ///.monad wrap [(list) Any])
 
     (#.Cons [head-k head-v] _)
     (do {! ///.monad}
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/directive.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/directive.lux
index 2bde38a7d..7bcb4a39b 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/directive.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/directive.lux
@@ -66,12 +66,12 @@
             (case expansion
               (^ (list&  referrals))
               (|> (recur archive )
-                  (:: ! map (update@ #/.referrals (list\compose referrals))))
+                  (\ ! map (update@ #/.referrals (list\compose referrals))))
 
               _
               (|> expansion
                   (monad.map ! (recur archive))
-                  (:: ! map (list\fold /.merge-requirements /.no-requirements)))))
+                  (\ ! map (list\fold /.merge-requirements /.no-requirements)))))
 
           _
           (//.throw ..not-a-directive code))))))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
index 0fdaa8c96..c6899c4e8 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
@@ -472,8 +472,8 @@
 
               (text.starts-with? descriptor.array-prefix name)
               (let [[_ unprefixed] (maybe.assume (text.split-with descriptor.array-prefix name))]
-                (:: phase.monad map jvm.array
-                    (check-jvm (#.Primitive unprefixed (list)))))
+                (\ phase.monad map jvm.array
+                   (check-jvm (#.Primitive unprefixed (list)))))
 
               ## else
               (phase\wrap (jvm.class name (list)))))
@@ -512,7 +512,7 @@
 (def: (check-object objectT)
   (-> .Type (Operation External))
   (do {! phase.monad}
-    [name (:: ! map ..reflection (check-jvm objectT))]
+    [name (\ ! map ..reflection (check-jvm objectT))]
     (if (dictionary.contains? name ..boxes)
       (/////analysis.throw ..primitives-are-not-objects [name])
       (phase\wrap name))))
@@ -756,47 +756,53 @@
           (/////analysis.throw cannot-possibly-be-an-instance (format sub-class " !<= "  object-class)))))]))
 
 (import: java/lang/Object
-  (equals [java/lang/Object] boolean))
+  ["#::."
+   (equals [java/lang/Object] boolean)])
 
 (import: java/lang/reflect/Type)
 
 (import: (java/lang/reflect/TypeVariable d)
-  (getName [] java/lang/String)
-  (getBounds [] [java/lang/reflect/Type]))
+  ["#::."
+   (getName [] java/lang/String)
+   (getBounds [] [java/lang/reflect/Type])])
 
 (import: java/lang/reflect/Modifier
-  (#static isStatic [int] boolean)
-  (#static isFinal [int] boolean)
-  (#static isInterface [int] boolean)
-  (#static isAbstract [int] boolean))
+  ["#::."
+   (#static isStatic [int] boolean)
+   (#static isFinal [int] boolean)
+   (#static isInterface [int] boolean)
+   (#static isAbstract [int] boolean)])
 
 (import: java/lang/reflect/Method
-  (getName [] java/lang/String)
-  (getModifiers [] int)
-  (getDeclaringClass [] (java/lang/Class java/lang/Object))
-  (getTypeParameters [] [(java/lang/reflect/TypeVariable java/lang/reflect/Method)])
-  (getGenericParameterTypes [] [java/lang/reflect/Type])
-  (getGenericReturnType [] java/lang/reflect/Type)
-  (getGenericExceptionTypes [] [java/lang/reflect/Type]))
+  ["#::."
+   (getName [] java/lang/String)
+   (getModifiers [] int)
+   (getDeclaringClass [] (java/lang/Class java/lang/Object))
+   (getTypeParameters [] [(java/lang/reflect/TypeVariable java/lang/reflect/Method)])
+   (getGenericParameterTypes [] [java/lang/reflect/Type])
+   (getGenericReturnType [] java/lang/reflect/Type)
+   (getGenericExceptionTypes [] [java/lang/reflect/Type])])
 
 (import: (java/lang/reflect/Constructor c)
-  (getModifiers [] int)
-  (getDeclaringClass [] (java/lang/Class c))
-  (getTypeParameters [] [(java/lang/reflect/TypeVariable (java/lang/reflect/Constructor c))])
-  (getGenericParameterTypes [] [java/lang/reflect/Type])
-  (getGenericExceptionTypes [] [java/lang/reflect/Type]))
+  ["#::."
+   (getModifiers [] int)
+   (getDeclaringClass [] (java/lang/Class c))
+   (getTypeParameters [] [(java/lang/reflect/TypeVariable (java/lang/reflect/Constructor c))])
+   (getGenericParameterTypes [] [java/lang/reflect/Type])
+   (getGenericExceptionTypes [] [java/lang/reflect/Type])])
 
 (import: (java/lang/Class c)
-  (#static forName [java/lang/String] #try (java/lang/Class java/lang/Object))
-  (getName [] java/lang/String)
-  (getModifiers [] int)
-  (isAssignableFrom [(java/lang/Class java/lang/Object)] boolean)
-  (getTypeParameters [] [(java/lang/reflect/TypeVariable (java/lang/Class c))])
-  (getGenericInterfaces [] [java/lang/reflect/Type])
-  (getGenericSuperclass [] #? java/lang/reflect/Type)
-  (getDeclaredField [java/lang/String] #try java/lang/reflect/Field)
-  (getConstructors [] [(java/lang/reflect/Constructor java/lang/Object)])
-  (getDeclaredMethods [] [java/lang/reflect/Method]))
+  ["#::."
+   (#static forName [java/lang/String] #try (java/lang/Class java/lang/Object))
+   (getName [] java/lang/String)
+   (getModifiers [] int)
+   (isAssignableFrom [(java/lang/Class java/lang/Object)] boolean)
+   (getTypeParameters [] [(java/lang/reflect/TypeVariable (java/lang/Class c))])
+   (getGenericInterfaces [] [java/lang/reflect/Type])
+   (getGenericSuperclass [] #? java/lang/reflect/Type)
+   (getDeclaredField [java/lang/String] #try java/lang/reflect/Field)
+   (getConstructors [] [(java/lang/reflect/Constructor java/lang/Object)])
+   (getDeclaredMethods [] [java/lang/reflect/Method])])
 
 (template [  ]
   [(def: ( mapping typeJ)
@@ -843,7 +849,7 @@
     (monad.map phase.monad
                (function (_ superT)
                  (do {! phase.monad}
-                   [super-name (:: ! map ..reflection (check-jvm superT))
+                   [super-name (\ ! map ..reflection (check-jvm superT))
                     super-class (phase.lift (reflection!.load super-name))]
                    (wrap [[super-name superT]
                           (java/lang/Class::isAssignableFrom super-class to-class)])))
@@ -859,10 +865,10 @@
       (^ (list fromC))
       (do {! phase.monad}
         [toT (///.lift meta.expected-type)
-         to-name (:: ! map ..reflection (check-jvm toT))
+         to-name (\ ! map ..reflection (check-jvm toT))
          [fromT fromA] (typeA.with-inference
                          (analyse archive fromC))
-         from-name (:: ! map ..reflection (check-jvm fromT))
+         from-name (\ ! map ..reflection (check-jvm fromT))
          can-cast? (: (Operation Bit)
                       (`` (cond (~~ (template [ ]
                                       [(let [=primitive (reflection.reflection )]
@@ -1234,10 +1240,10 @@
                                                aliasing (dictionary.merge (..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)]
-                                        (:: ! map (if passes?
-                                                    (|>> #Pass)
-                                                    (|>> #Hint))
-                                            (method-signature method-style method)))))))]
+                                        (\ ! map (if passes?
+                                                   (|>> #Pass)
+                                                   (|>> #Hint))
+                                           (method-signature method-style method)))))))]
     (case (list.all pass! candidates)
       (#.Cons method #.Nil)
       (wrap method)
@@ -1264,9 +1270,9 @@
                                             aliasing (dictionary.merge (..aliasing expected-class-tvars actual-class-tvars)
                                                                        (..aliasing expected-method-tvars actual-method-tvars))]
                                       passes? (check-constructor aliasing class inputsJT constructor)]
-                                     (:: ! map
-                                         (if passes? (|>> #Pass) (|>> #Hint))
-                                         (constructor-signature constructor))))))]
+                                     (\ ! map
+                                        (if passes? (|>> #Pass) (|>> #Hint))
+                                        (constructor-signature constructor))))))]
     (case (list.all pass! candidates)
       (#.Cons constructor #.Nil)
       (wrap constructor)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
index 29fb70e63..70a32ea7e 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
@@ -164,8 +164,8 @@
       (^ (list typeC valueC))
       (do {! ////.monad}
         [count (///.lift meta.count)
-         actualT (:: ! map (|>> (:coerce Type))
-                     (eval archive count Type typeC))
+         actualT (\ ! map (|>> (:coerce Type))
+                    (eval archive count Type typeC))
          _ (typeA.infer actualT)]
         (typeA.with-type actualT
           (analyse archive valueC)))
@@ -180,8 +180,8 @@
       (^ (list typeC valueC))
       (do {! ////.monad}
         [count (///.lift meta.count)
-         actualT (:: ! map (|>> (:coerce Type))
-                     (eval archive count Type typeC))
+         actualT (\ ! map (|>> (:coerce Type))
+                    (eval archive count Type typeC))
          _ (typeA.infer actualT)
          [valueT valueA] (typeA.with-inference
                            (analyse archive valueC))]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/extension/generation/js/host.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/extension/generation/js/host.lux
index f7cc747ff..0aeea4cd2 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/extension/generation/js/host.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/extension/generation/js/host.lux
@@ -135,7 +135,7 @@
         [abstractionG (phase archive abstractionS)
          #let [variable (: (-> Text (Operation Var))
                            (|>> generation.gensym
-                                (:: ! map _.var)))]
+                                (\ ! map _.var)))]
          g!inputs (monad.map ! (function (_ _) (variable "input"))
                              (list.repeat (.nat arity) []))
          g!abstraction (variable "abstraction")]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux
index ee9c3b1a2..c1418b2ce 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux
@@ -743,7 +743,7 @@
     ..unitG
     
     (#.Left outputT)
-    (:: _.monad wrap [])))
+    (\ _.monad wrap [])))
 
 (def: invoke::static
   Handler
@@ -981,20 +981,20 @@
           _.areturn)
       
       (#.Right returnT)
-      (cond (or (:: type.equivalence = type.boolean returnT)
-                (:: type.equivalence = type.byte returnT)
-                (:: type.equivalence = type.short returnT)
-                (:: type.equivalence = type.int returnT)
-                (:: type.equivalence = type.char returnT))
+      (cond (or (\ type.equivalence = type.boolean returnT)
+                (\ type.equivalence = type.byte returnT)
+                (\ type.equivalence = type.short returnT)
+                (\ type.equivalence = type.int returnT)
+                (\ type.equivalence = type.char returnT))
             _.ireturn
 
-            (:: type.equivalence = type.long returnT)
+            (\ type.equivalence = type.long returnT)
             _.lreturn
 
-            (:: type.equivalence = type.float returnT)
+            (\ type.equivalence = type.float returnT)
             _.freturn
 
-            ## (:: type.equivalence = type.double returnT)
+            ## (\ type.equivalence = type.double returnT)
             _.dreturn))))
 
 (def: class::anonymous
@@ -1068,7 +1068,7 @@
                                                                               bodyG
                                                                               (returnG returnT)))))))
                                        normalized-methods)
-         bytecode (<| (:: ! map (format.run class.writer))
+         bytecode (<| (\ ! map (format.run class.writer))
                       //////.lift
                       (class.class version.v6_0 ($_ modifier\compose class.public class.final)
                                    (name.internal anonymous-class-name)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp.lux
index 975301cef..43d449402 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp.lux
@@ -21,7 +21,7 @@
   (case synthesis
     (^template [ ]
       [(^ ( value))
-       (:: ///.monad wrap ( value))])
+       (\ ///.monad wrap ( value))])
     ([synthesis.bit  primitive.bit]
      [synthesis.i64  primitive.i64]
      [synthesis.f64  primitive.f64]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/case.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/case.lux
index 6c6858ea9..6953a9987 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/case.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/case.lux
@@ -134,7 +134,7 @@
   (-> Phase Path (Operation (Expression Any)))
   (.case pathP
     (^ (/////synthesis.path/then bodyS))
-    (:: ////.monad map (_.return-from ..@done) (generate bodyS))
+    (\ ////.monad map (_.return-from ..@done) (generate bodyS))
 
     #/////synthesis.Pop
     (////\wrap ..pop!)
@@ -159,7 +159,7 @@
        (^ ( idx nextP))
        (|> nextP
            (pattern-matching' generate)
-           (:: ////.monad map (_.progn ( true idx))))])
+           (\ ////.monad map (_.progn ( true idx))))])
     ([/////synthesis.side/left  /////synthesis.simple-left-side  ..left-choice]
      [/////synthesis.side/right /////synthesis.simple-right-side ..right-choice])
 
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/function.lux
index 8853de638..d68f22ef0 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/function.lux
@@ -37,11 +37,11 @@
   (-> Text (List (Expression Any)) (Expression Any) (Operation (Expression Any)))
   (case inits
     #.Nil
-    (:: ////.monad wrap function-definition)
+    (\ ////.monad wrap function-definition)
 
     _
     (do {! ////.monad}
-      [@closure (:: ! map _.var (///.gensym "closure"))]
+      [@closure (\ ! map _.var (///.gensym "closure"))]
       (wrap (_.labels (list [@closure [(|> (list.enumeration inits)
                                            (list\map (|>> product.left ..capture))
                                            _.args)
@@ -60,7 +60,7 @@
                                (///.with-anchor (_.var function-name)
                                  (generate bodyS))))
      closureG+ (: (Operation (List (Expression Any)))
-                  (monad.map ! (:: //reference.system variable) environment))
+                  (monad.map ! (\ //reference.system variable) environment))
      #let [@curried (_.var "curried")
            @missing (_.var "missing")
            arityG (|> arity .int _.int)
@@ -87,7 +87,7 @@
                                                              extra-inputs]))])
                                         ## (|> @num-args (_.< arityG))
                                         (_.lambda (_.args& (list) @missing)
-                                             (_.apply/2 [(_.function/1 @self)
-                                                         (_.append/2 [@curried @missing])]))))]])
+                                                  (_.apply/2 [(_.function/1 @self)
+                                                              (_.append/2 [@curried @missing])]))))]])
                 (_.function/1 @self)))
     ))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/loop.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/loop.lux
index e3c6d4279..bc214399e 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/loop.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/loop.lux
@@ -23,7 +23,7 @@
 (def: #export (scope generate [start initsS+ bodyS])
   (-> Phase (Scope Synthesis) (Operation (Expression Any)))
   (do {! ////.monad}
-    [@scope (:: ! map (|>> %.nat (format "scope") _.var) ///.next)
+    [@scope (\ ! map (|>> %.nat (format "scope") _.var) ///.next)
      initsG+ (monad.map ! generate initsS+)
      bodyG (///.with-anchor @scope
              (generate bodyS))]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/structure.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/structure.lux
index ef29d33dc..45241a601 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/structure.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/common-lisp/structure.lux
@@ -16,7 +16,7 @@
   (-> Phase (Tuple Synthesis) (Operation (Expression Any)))
   (case elemsS+
     #.Nil
-    (:: ////.monad wrap (//primitive.text /////synthesis.unit))
+    (\ ////.monad wrap (//primitive.text /////synthesis.unit))
 
     (#.Cons singletonS #.Nil)
     (generate singletonS)
@@ -24,13 +24,13 @@
     _
     (|> elemsS+
         (monad.map ////.monad generate)
-        (:: ////.monad map _.vector/*))))
+        (\ ////.monad map _.vector/*))))
 
 (def: #export (variant generate [lefts right? valueS])
   (-> Phase (Variant Synthesis) (Operation (Expression Any)))
-  (:: ////.monad map
-      (//runtime.variant (if right?
-                           (inc lefts)
-                           lefts)
-                         right?)
-      (generate valueS)))
+  (\ ////.monad map
+     (//runtime.variant (if right?
+                          (inc lefts)
+                          lefts)
+                        right?)
+     (generate valueS)))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/case.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/case.lux
index ce9625452..13038972b 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/case.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/case.lux
@@ -163,7 +163,7 @@
       [(^ ( idx nextP))
        (|> nextP
            recur
-           (:: ///////phase.monad map (|>> (_.then ( true idx)) #.Some)))])
+           (\ ///////phase.monad map (|>> (_.then ( true idx)) #.Some)))])
     ([/////synthesis.simple-left-side  ..left-choice]
      [/////synthesis.simple-right-side ..right-choice])
 
@@ -261,7 +261,7 @@
             [( cons)
              (do {! ///////phase.monad}
                [cases (monad.map ! (function (_ [match then])
-                                     (:: ! map (|>> [(list ( match))]) (recur then)))
+                                     (\ ! map (|>> [(list ( match))]) (recur then)))
                                  (#.Cons cons))]
                (wrap (_.switch ..peek-cursor
                                cases
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/function.lux
index 12e328a11..c939b36a6 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/function.lux
@@ -67,8 +67,8 @@
   (do {! ///////phase.monad}
     [[function-name body!] (/////generation.with-new-context archive
                              (do !
-                               [scope (:: ! map ..@scope
-                                          (/////generation.context archive))]
+                               [scope (\ ! map ..@scope
+                                         (/////generation.context archive))]
                                (/////generation.with-anchor [1 scope]
                                  (statement expression archive bodyS))))
      #let [arityO (|> arity .int _.i32)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/loop.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/loop.lux
index 5e810a551..29cdc1180 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/loop.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/loop.lux
@@ -49,7 +49,7 @@
     ## true loop
     _
     (do {! ///////phase.monad}
-      [@scope (:: ! map ..@scope /////generation.next)
+      [@scope (\ ! map ..@scope /////generation.next)
        initsO+ (monad.map ! (expression archive) initsS+)
        body! (/////generation.with-anchor [start @scope]
                (statement expression archive bodyS))]
@@ -68,7 +68,7 @@
     ## true loop
     _
     (do {! ///////phase.monad}
-      [@scope (:: ! map ..@scope /////generation.next)
+      [@scope (\ ! map ..@scope /////generation.next)
        initsO+ (monad.map ! (expression archive) initsS+)
        body! (/////generation.with-anchor [start @scope]
                (statement expression archive bodyS))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/debug.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/debug.lux
index 657566813..f429b0442 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/debug.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/debug.lux
@@ -23,7 +23,7 @@
       [outcome (do (try.with @)
                  [file (: (IO (Try (File IO)))
                           (file.get-file io.monad file.default file-path))]
-                 (!.use (:: file over-write) bytecode))]
+                 (!.use (\ file over-write) bytecode))]
       (wrap (case outcome
               (#try.Success definition)
               file-path
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/host.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/host.lux
index b13e1c63f..c87f00333 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/host.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/host.lux
@@ -112,11 +112,11 @@
                                                         _.return))))
                               (row.row))]
     (io.run (do {! (try.with io.monad)}
-              [bytecode (:: ! map (format.run class.writer)
-                            (io.io bytecode))
+              [bytecode (\ ! map (format.run class.writer)
+                           (io.io bytecode))
                _ (loader.store eval-class bytecode library)
                class (loader.load eval-class loader)
-               value (:: io.monad wrap (class-value eval-class class))]
+               value (\ io.monad wrap (class-value eval-class class))]
               (wrap [value
                      [eval-class bytecode]])))))
 
@@ -124,7 +124,7 @@
   (-> Library java/lang/ClassLoader Text Definition (Try Any))
   (io.run (do (try.with io.monad)
             [existing-class? (|> (atom.read library)
-                                 (:: io.monad map (dictionary.contains? class-name))
+                                 (\ io.monad map (dictionary.contains? class-name))
                                  (try.lift io.monad)
                                  (: (IO (Try Bit))))
              _ (if existing-class?
@@ -149,8 +149,8 @@
            (structure
             (def: (evaluate! temp-label valueG)
               (let [eval-class (|> temp-label name.normalize (text.replace-all " " "$"))]
-                (:: try.monad map product.left
-                    (..evaluate! library loader eval-class valueG))))
+                (\ try.monad map product.left
+                   (..evaluate! library loader eval-class valueG))))
             
             (def: execute!
               (..execute! library loader))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/reference.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/reference.lux
index e74488d08..edffd87ff 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/reference.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/reference.lux
@@ -41,8 +41,8 @@
 (def: (foreign archive variable)
   (-> Archive Register (Operation (Bytecode Any)))
   (do {! ////.monad}
-    [bytecode-name (:: ! map //runtime.class-name
-                       (generation.context archive))]
+    [bytecode-name (\ ! map //runtime.class-name
+                      (generation.context archive))]
     (wrap ($_ _.compose
               ..this
               (_.getfield (type.class bytecode-name (list))
@@ -61,6 +61,6 @@
 (def: #export (constant archive name)
   (-> Archive Name (Operation (Bytecode Any)))
   (do {! ////.monad}
-    [bytecode-name (:: ! map //runtime.class-name
-                       (generation.remember archive name))]
+    [bytecode-name (\ ! map //runtime.class-name
+                      (generation.remember archive name))]
     (wrap (_.getstatic (type.class bytecode-name (list)) //value.field //type.value))))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux
index 57d45f6c3..22db73c91 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux
@@ -602,4 +602,4 @@
     ## This shift is done to avoid the possibility of forged labels
     ## to be in the range of the labels that are generated automatically
     ## during the evaluation of Bytecode expressions.
-    (:: ////.monad map (i64.left-shift shift) generation.next)))
+    (\ ////.monad map (i64.left-shift shift) generation.next)))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/structure.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/structure.lux
index bbf8f252c..b89bbca35 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/structure.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/structure.lux
@@ -29,7 +29,7 @@
   (Generator (Tuple Synthesis))
   (case membersS
     #.Nil
-    (:: phase.monad wrap //runtime.unit)
+    (\ phase.monad wrap //runtime.unit)
 
     (#.Cons singletonS #.Nil)
     (generate archive singletonS)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/lua/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/lua/function.lux
index 98c60d243..0d97b3b8c 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/lua/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/lua/function.lux
@@ -46,7 +46,7 @@
 
     _
     (do {! ///////phase.monad}
-      [@closure (:: ! map _.var (/////generation.gensym "closure"))
+      [@closure (\ ! map _.var (/////generation.gensym "closure"))
        #let [directive (_.function @closure
                          (|> (list.enumeration inits)
                              (list\map (|>> product.left ..capture)))
@@ -65,12 +65,12 @@
   (do {! ///////phase.monad}
     [[function-name bodyO] (/////generation.with-new-context
                              (do !
-                               [function-name (:: ! map ///reference.artifact-name
-                                                  /////generation.context)]
+                               [function-name (\ ! map ///reference.artifact-name
+                                                 /////generation.context)]
                                (/////generation.with-anchor (_.var function-name)
                                  (generate archive bodyS))))
      closureO+ (: (Operation (List (Expression Any)))
-                  (monad.map ! (:: //reference.system variable) environment))
+                  (monad.map ! (\ //reference.system variable) environment))
      #let [function-name (///reference.artifact-name function-name)
            @curried (_.var "curried")
            arityO (|> arity .int _.int)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/lua/loop.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/lua/loop.lux
index e04186c17..4b405a8af 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/lua/loop.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/lua/loop.lux
@@ -28,7 +28,7 @@
 (def: #export (scope generate archive [start initsS+ bodyS])
   (Generator (Scope Synthesis))
   (do {! ///////phase.monad}
-    [@loop (:: ! map ..loop-name /////generation.next)
+    [@loop (\ ! map ..loop-name /////generation.next)
      initsO+ (monad.map ! (generate archive) initsS+)
      bodyO (/////generation.with-anchor @loop
              (generate archive bodyS))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php.lux
index 975301cef..43d449402 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php.lux
@@ -21,7 +21,7 @@
   (case synthesis
     (^template [ ]
       [(^ ( value))
-       (:: ///.monad wrap ( value))])
+       (\ ///.monad wrap ( value))])
     ([synthesis.bit  primitive.bit]
      [synthesis.i64  primitive.i64]
      [synthesis.f64  primitive.f64]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/case.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/case.lux
index 5ef6bb4b3..141f651f8 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/case.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/case.lux
@@ -140,7 +140,7 @@
   (-> Phase Path (Operation Statement))
   (.case pathP
     (^ (/////synthesis.path/then bodyS))
-    (:: ////.monad map _.return (generate bodyS))
+    (\ ////.monad map _.return (generate bodyS))
 
     #/////synthesis.Pop
     (////\wrap ..pop!)
@@ -164,7 +164,7 @@
        (^ ( idx nextP))
        (|> nextP
            (pattern-matching' generate)
-           (:: ////.monad map (_.then ( true idx))))])
+           (\ ////.monad map (_.then ( true idx))))])
     ([/////synthesis.side/left  /////synthesis.simple-left-side  ..left-choice]
      [/////synthesis.side/right /////synthesis.simple-right-side ..right-choice])
 
@@ -212,7 +212,7 @@
 
 (def: (gensym prefix)
   (-> Text (Operation Text))
-  (:: ////.monad map (|>> %.nat (format prefix)) ///.next))
+  (\ ////.monad map (|>> %.nat (format prefix)) ///.next))
 
 (def: #export (case generate [valueS pathP])
   (-> Phase [Synthesis Path] (Operation (Expression Any)))
@@ -222,7 +222,7 @@
      @case (..gensym "case")
      #let [@caseG (_.global @case)
            @caseL (_.var @case)]
-     @init (:: ! map _.var (..gensym "init"))
+     @init (\ ! map _.var (..gensym "init"))
      #let [@dependencies+ (|> (case.storage pathP)
                               (get@ #case.dependencies)
                               set.to-list
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/function.lux
index e021f5234..33660380c 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/function.lux
@@ -46,8 +46,8 @@
                                (///.with-anchor (_.var function-name)
                                  (generate bodyS))))
      closureG+ (: (Operation (List Argument))
-                  (monad.map ! (|>> (:: //reference.system variable)
-                                    (:: ! map _.reference))
+                  (monad.map ! (|>> (\ //reference.system variable)
+                                    (\ ! map _.reference))
                              environment))
      #let [@curried (_.var "curried")
            arityG (|> arity .int _.int)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/loop.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/loop.lux
index f94470be8..a3482d8a7 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/loop.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/loop.lux
@@ -23,7 +23,7 @@
 (def: #export (scope generate [start initsS+ bodyS])
   (-> Phase (Scope Synthesis) (Operation (Expression Any)))
   (do {! ////.monad}
-    [@loop (:: ! map (|>> %.nat (format "loop")) ///.next)
+    [@loop (\ ! map (|>> %.nat (format "loop")) ///.next)
      #let [@loopG (_.global @loop)
            @loopL (_.var @loop)]
      initsO+ (monad.map ! generate initsS+)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/structure.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/structure.lux
index 8ea387fa2..9748ede02 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/structure.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/php/structure.lux
@@ -16,7 +16,7 @@
   (-> Phase (Tuple Synthesis) (Operation (Expression Any)))
   (case elemsS+
     #.Nil
-    (:: ////.monad wrap (//primitive.text /////synthesis.unit))
+    (\ ////.monad wrap (//primitive.text /////synthesis.unit))
 
     (#.Cons singletonS #.Nil)
     (generate singletonS)
@@ -24,13 +24,13 @@
     _
     (|> elemsS+
         (monad.map ////.monad generate)
-        (:: ////.monad map _.array/*))))
+        (\ ////.monad map _.array/*))))
 
 (def: #export (variant generate [lefts right? valueS])
   (-> Phase (Variant Synthesis) (Operation (Expression Any)))
-  (:: ////.monad map
-      (//runtime.variant (if right?
-                           (inc lefts)
-                           lefts)
-                         right?)
-      (generate valueS)))
+  (\ ////.monad map
+     (//runtime.variant (if right?
+                          (inc lefts)
+                          lefts)
+                        right?)
+     (generate valueS)))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/python/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/python/function.lux
index 28e8867a0..5ce811dfd 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/python/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/python/function.lux
@@ -46,7 +46,7 @@
 
     _
     (do {! ///////phase.monad}
-      [@closure (:: ! map _.var (/////generation.gensym "closure"))
+      [@closure (\ ! map _.var (/////generation.gensym "closure"))
        #let [directive (_.def @closure
                               (|> (list.enumeration inits)
                                   (list\map (|>> product.left ..capture)))
@@ -65,12 +65,12 @@
   (do {! ///////phase.monad}
     [[function-name bodyO] (/////generation.with-new-context
                              (do !
-                               [function-name (:: ! map ///reference.artifact-name
-                                                  /////generation.context)]
+                               [function-name (\ ! map ///reference.artifact-name
+                                                 /////generation.context)]
                                (/////generation.with-anchor (_.var function-name)
                                  (generate archive bodyS))))
      closureO+ (: (Operation (List (Expression Any)))
-                  (monad.map ! (:: //reference.system variable) environment))
+                  (monad.map ! (\ //reference.system variable) environment))
      #let [function-name (///reference.artifact-name function-name)
            @curried (_.var "curried")
            arityO (|> arity .int _.int)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/python/loop.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/python/loop.lux
index e8f2bd5f7..14868757d 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/python/loop.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/python/loop.lux
@@ -28,7 +28,7 @@
 (def: #export (scope generate archive [start initsS+ bodyS])
   (Generator (Scope Synthesis))
   (do {! ///////phase.monad}
-    [@loop (:: ! map ..loop-name /////generation.next)
+    [@loop (\ ! map ..loop-name /////generation.next)
      initsO+ (monad.map ! (generate archive) initsS+)
      bodyO (/////generation.with-anchor @loop
              (generate archive bodyS))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/reference.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/reference.lux
index b587d2963..0bb5694b7 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/reference.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/reference.lux
@@ -30,7 +30,7 @@
   (All [anchor expression directive]
     (-> (System expression) Archive Name
         (////generation.Operation anchor expression directive expression)))
-  (phase\map (|>> ..artifact (:: system constant))
+  (phase\map (|>> ..artifact (\ system constant))
              (////generation.remember archive name)))
 
 (template [ ]
@@ -38,7 +38,7 @@
      (All [expression]
        (-> (System expression)
            (-> Register expression)))
-     (|>> %.nat (format ) (:: system variable)))]
+     (|>> %.nat (format ) (\ system variable)))]
 
   ["f" foreign]
   ["l" local]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/ruby/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/ruby/function.lux
index 942829635..091c8fb6a 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/ruby/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/ruby/function.lux
@@ -57,12 +57,12 @@
   (do {! ///////phase.monad}
     [[function-name bodyO] (/////generation.with-new-context
                              (do !
-                               [function-name (:: ! map ///reference.artifact-name
-                                                  /////generation.context)]
+                               [function-name (\ ! map ///reference.artifact-name
+                                                 /////generation.context)]
                                (/////generation.with-anchor (_.local function-name)
                                  (generate archive bodyS))))
      closureO+ (: (Operation (List (Expression Any)))
-                  (monad.map ! (:: //reference.system variable) environment))
+                  (monad.map ! (\ //reference.system variable) environment))
      #let [function-name (///reference.artifact-name function-name)
            @curried (_.local "curried")
            arityO (|> arity .int _.int)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/ruby/loop.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/ruby/loop.lux
index 42d048ed5..cecea44e9 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/ruby/loop.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/ruby/loop.lux
@@ -28,7 +28,7 @@
 (def: #export (scope generate archive [start initsS+ bodyS])
   (Generator (Scope Synthesis))
   (do {! ///////phase.monad}
-    [@loop (:: ! map ..loop-name /////generation.next)
+    [@loop (\ ! map ..loop-name /////generation.next)
      initsO+ (monad.map ! (generate archive) initsS+)
      bodyO (/////generation.with-anchor @loop
              (generate archive bodyS))]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme.lux
index d6d33999b..e7f50ee82 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme.lux
@@ -21,7 +21,7 @@
   (case synthesis
     (^template [ ]
       [(^ ( value))
-       (:: ///.monad wrap ( value))])
+       (\ ///.monad wrap ( value))])
     ([synthesis.bit  primitive.bit]
      [synthesis.i64  primitive.i64]
      [synthesis.f64  primitive.f64]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/case.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/case.lux
index b25ac6bed..5f460b749 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/case.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/case.lux
@@ -166,6 +166,6 @@
   (-> Phase [Synthesis Path] (Operation Computation))
   (do {! ////.monad}
     [valueO (generate valueS)]
-    (<| (:: ! map (_.let (list [@cursor (_.list/* (list valueO))]
-                               [@savepoint (_.list/* (list))])))
+    (<| (\ ! map (_.let (list [@cursor (_.list/* (list valueO))]
+                              [@savepoint (_.list/* (list))])))
         (pattern-matching generate pathP))))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/function.lux
index 7206c23d5..97725a8f2 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/function.lux
@@ -66,7 +66,7 @@
                                (///.with-anchor (_.var function-name)
                                  (generate bodyS))))
      closureO+ (: (Operation (List Expression))
-                  (monad.map ! (:: //reference.system variable) environment))
+                  (monad.map ! (\ //reference.system variable) environment))
      #let [arityO (|> arity .int _.int)
            apply-poly (.function (_ args func)
                         (_.apply/2 (_.global "apply") func args))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/structure.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/structure.lux
index 18a74a4a3..bb11d2e1f 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/structure.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/scheme/structure.lux
@@ -16,7 +16,7 @@
   (-> Phase (Tuple Synthesis) (Operation Expression))
   (case elemsS+
     #.Nil
-    (:: ///.monad wrap (primitive.text synthesis.unit))
+    (\ ///.monad wrap (primitive.text synthesis.unit))
 
     (#.Cons singletonS #.Nil)
     (generate singletonS)
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/case.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/case.lux
index ff740e751..c9b1757ce 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/case.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/case.lux
@@ -56,7 +56,7 @@
        [#///analysis.Text #/.Text-Fork |>]))
 
     (#///analysis.Bind register)
-    (<| (:: ///.monad map (|>> (#/.Seq (#/.Bind register))))
+    (<| (\ ///.monad map (|>> (#/.Seq (#/.Bind register))))
         /.with-new-local
         thenC)
 
@@ -95,7 +95,7 @@
 (def: (weave-branch weave equivalence [new-test new-then] [[old-test old-then] old-tail])
   (All [a] (-> (-> Path Path Path) (Equivalence a) [a Path] (/.Fork a Path)
                (/.Fork a Path)))
-  (if (:: equivalence = new-test old-test)
+  (if (\ equivalence = new-test old-test)
     [[old-test (weave new-then old-then)] old-tail]
     [[old-test old-then]
      (case old-tail
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/function.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/function.lux
index 2831b2605..2359e03b8 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/function.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/function.lux
@@ -107,7 +107,7 @@
       [then (grow-path grow then)
        else (case else
               (#.Some else)
-              (:: ! map (|>> #.Some) (grow-path grow else))
+              (\ ! map (|>> #.Some) (grow-path grow else))
 
               #.None
               (wrap #.None))]
@@ -254,10 +254,10 @@
                       (^ (/.function/abstraction [env' down-arity' bodyS']))
                       (|> bodyS'
                           (grow env')
-                          (:: ! map (function (_ body)
-                                      {#/.environment environment
-                                       #/.arity (inc down-arity')
-                                       #/.body body})))
+                          (\ ! map (function (_ body)
+                                     {#/.environment environment
+                                      #/.arity (inc down-arity')
+                                      #/.body body})))
                       
                       _
                       (wrap {#/.environment environment
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/loop.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
index 3c99cdef9..80ce194d6 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
@@ -43,7 +43,7 @@
         [then (recur then)
          else (case else
                 (#.Some else)
-                (:: ! map (|>> #.Some) (recur else))
+                (\ ! map (|>> #.Some) (recur else))
 
                 #.None
                 (wrap #.None))]
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/variable.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/variable.lux
index 4055f70e7..1312f9ed7 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/variable.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/synthesis/variable.lux
@@ -255,10 +255,10 @@
         [[redundancy then] (recur [redundancy then])
          [redundancy else] (case else
                              (#.Some else)
-                             (:: ! map
-                                 (function (_ [redundancy else])
-                                   [redundancy (#.Some else)])
-                                 (recur [redundancy else]))
+                             (\ ! map
+                                (function (_ [redundancy else])
+                                  [redundancy (#.Some else)])
+                                (recur [redundancy else]))
 
                              #.None
                              (wrap [redundancy #.None]))]
@@ -438,4 +438,4 @@
   (-> Synthesis (Try Synthesis))
   (|>> [..initial]
        optimization'
-       (:: try.monad map product.right)))
+       (\ try.monad map product.right)))
diff --git a/stdlib/source/lux/tool/compiler/language/lux/syntax.lux b/stdlib/source/lux/tool/compiler/language/lux/syntax.lux
index f2c9a4afa..766e5cbf2 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/syntax.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/syntax.lux
@@ -306,7 +306,7 @@
   (case (|> source-code
             (!clip  )
             (text.replace-all ..digit-separator "")
-            (::  decode))
+            (\  decode))
     (#.Right output)
     (#.Right [[(update@ #.column (|>> (!n/+ (!n/-  ))) where)
                
diff --git a/stdlib/source/lux/tool/compiler/language/lux/synthesis.lux b/stdlib/source/lux/tool/compiler/language/lux/synthesis.lux
index 0fe2bf712..5b631ab1b 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/synthesis.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/synthesis.lux
@@ -437,7 +437,7 @@
   (def: hash
     (|>> (case> (^template [ ]
                   [( value')
-                   (::  hash value')])
+                   (\  hash value')])
                 ([#Bit  bit.hash]
                  [#F64  f.hash]
                  [#Text text.hash]
@@ -462,7 +462,7 @@
     (case [reference sample]
       (^template [ ]
         [[( reference) ( sample)]
-         (::  = reference sample)])
+         (\  = reference sample)])
       ([#Side ..side-equivalence]
        [#Member ..member-equivalence])
 
@@ -479,7 +479,7 @@
       (case value
         (^template []
           [( value)
-           (:: sub-hash hash value)])
+           (\ sub-hash hash value)])
         ([#Side]
          [#Member])))))
 
@@ -495,21 +495,21 @@
        (#Bit-Fork sample-when sample-then sample-else)]
       (and (bit\= reference-when sample-when)
            (= reference-then sample-then)
-           (:: (maybe.equivalence =) = reference-else sample-else))
+           (\ (maybe.equivalence =) = reference-else sample-else))
 
       (^template [ ]
         [[( reference-cons)
           ( sample-cons)]
-         (:: (list.equivalence (equivalence.product  =)) =
-             (#.Cons reference-cons)
-             (#.Cons sample-cons))])
+         (\ (list.equivalence (equivalence.product  =)) =
+            (#.Cons reference-cons)
+            (#.Cons sample-cons))])
       ([#I64-Fork i64.equivalence]
        [#F64-Fork f.equivalence]
        [#Text-Fork text.equivalence])
       
       (^template [ ]
         [[( reference') ( sample')]
-         (::  = reference' sample')])
+         (\  = reference' sample')])
       ([#Access ..access-equivalence]
        [#Then   equivalence])
       
@@ -530,7 +530,7 @@
   (All [a] (-> (Hash a) (Hash (Path' a))))
 
   (def: &equivalence
-    (..path'-equivalence (:: super &equivalence)))
+    (..path'-equivalence (\ super &equivalence)))
   
   (def: (hash value)
     (case value
@@ -538,23 +538,23 @@
       2
 
       (#Access access)
-      (n.* 3 (:: ..access-hash hash access))
+      (n.* 3 (\ ..access-hash hash access))
 
       (#Bind register)
-      (n.* 5 (:: n.hash hash register))
+      (n.* 5 (\ n.hash hash register))
 
       (#Bit-Fork when then else)
       ($_ n.* 7
-          (:: bit.hash hash when)
+          (\ bit.hash hash when)
           (hash then)
-          (:: (maybe.hash (path'-hash super)) hash else))
+          (\ (maybe.hash (path'-hash super)) hash else))
 
       (^template [  ]
         [( cons)
          (let [case-hash (product.hash 
                                        (path'-hash super))
                cons-hash (product.hash case-hash (list.hash case-hash))]
-           (n.*  (:: cons-hash hash cons)))])
+           (n.*  (\ cons-hash hash cons)))])
       ([11 #I64-Fork i64.hash]
        [13 #F64-Fork f.hash]
        [17 #Text-Fork text.hash])
@@ -563,12 +563,12 @@
         [( fork)
          (let [recur-hash (path'-hash super)
                fork-hash (product.hash recur-hash recur-hash)]
-           (n.*  (:: fork-hash hash fork)))])
+           (n.*  (\ fork-hash hash fork)))])
       ([19 #Alt]
        [23 #Seq])
 
       (#Then body)
-      (n.* 29 (:: super hash body))
+      (n.* 29 (\ super hash body))
       )))
 
 (structure: (branch-equivalence (^open "\."))
@@ -590,13 +590,13 @@
       
       [(#Get [reference-path reference-record])
        (#Get [sample-path sample-record])]
-      (and (:: (list.equivalence ..member-equivalence) = reference-path sample-path)
+      (and (\ (list.equivalence ..member-equivalence) = reference-path sample-path)
            (\= reference-record sample-record))
       
       [(#Case [reference-input reference-path])
        (#Case [sample-input sample-path])]
       (and (\= reference-input sample-input)
-           (:: (path'-equivalence \=) = reference-path sample-path))
+           (\ (path'-equivalence \=) = reference-path sample-path))
       
       _
       false)))
@@ -605,31 +605,31 @@
   (All [a] (-> (Hash a) (Hash (Branch a))))
 
   (def: &equivalence
-    (..branch-equivalence (:: super &equivalence)))
+    (..branch-equivalence (\ super &equivalence)))
   
   (def: (hash value)
     (case value
       (#Let [input register body])
       ($_ n.* 2
-          (:: super hash input)
-          (:: n.hash hash register)
-          (:: super hash body))
+          (\ super hash input)
+          (\ n.hash hash register)
+          (\ super hash body))
 
       (#If [test then else])
       ($_ n.* 3
-          (:: super hash test)
-          (:: super hash then)
-          (:: super hash else))
+          (\ super hash test)
+          (\ super hash then)
+          (\ super hash else))
       
       (#Get [path record])
       ($_ n.* 5
-          (:: (list.hash ..member-hash) hash path)
-          (:: super hash record))
+          (\ (list.hash ..member-hash) hash path)
+          (\ super hash record))
       
       (#Case [input path])
       ($_ n.* 7
-          (:: super hash input)
-          (:: (..path'-hash super) hash path))
+          (\ super hash input)
+          (\ (..path'-hash super) hash path))
       )))
 
 (structure: (loop-equivalence (^open "\."))
@@ -640,11 +640,11 @@
       [(#Scope [reference-start reference-inits reference-iteration])
        (#Scope [sample-start sample-inits sample-iteration])]
       (and (n.= reference-start sample-start)
-           (:: (list.equivalence \=) = reference-inits sample-inits)
+           (\ (list.equivalence \=) = reference-inits sample-inits)
            (\= reference-iteration sample-iteration))
 
       [(#Recur reference) (#Recur sample)]
-      (:: (list.equivalence \=) = reference sample)
+      (\ (list.equivalence \=) = reference sample)
       
       _
       false)))
@@ -653,19 +653,19 @@
   (All [a] (-> (Hash a) (Hash (Loop a))))
 
   (def: &equivalence
-    (..loop-equivalence (:: super &equivalence)))
+    (..loop-equivalence (\ super &equivalence)))
   
   (def: (hash value)
     (case value
       (#Scope [start inits iteration])
       ($_ n.* 2
-          (:: n.hash hash start)
-          (:: (list.hash super) hash inits)
-          (:: super hash iteration))
+          (\ n.hash hash start)
+          (\ (list.hash super) hash inits)
+          (\ super hash iteration))
 
       (#Recur resets)
       ($_ n.* 3
-          (:: (list.hash super) hash resets))
+          (\ (list.hash super) hash resets))
       )))
 
 (structure: (function-equivalence (^open "\."))
@@ -675,14 +675,14 @@
     (case [reference sample]
       [(#Abstraction [reference-environment reference-arity reference-body])
        (#Abstraction [sample-environment sample-arity sample-body])]
-      (and (:: (list.equivalence \=) = reference-environment sample-environment)
+      (and (\ (list.equivalence \=) = reference-environment sample-environment)
            (n.= reference-arity sample-arity)
            (\= reference-body sample-body))
       
       [(#Apply [reference-abstraction reference-arguments])
        (#Apply [sample-abstraction sample-arguments])]
       (and (\= reference-abstraction sample-abstraction)
-           (:: (list.equivalence \=) = reference-arguments sample-arguments))
+           (\ (list.equivalence \=) = reference-arguments sample-arguments))
       
       _
       false)))
@@ -691,20 +691,20 @@
   (All [a] (-> (Hash a) (Hash (Function a))))
 
   (def: &equivalence
-    (..function-equivalence (:: super &equivalence)))
+    (..function-equivalence (\ super &equivalence)))
   
   (def: (hash value)
     (case value
       (#Abstraction [environment arity body])
       ($_ n.* 2
-          (:: (list.hash super) hash environment)
-          (:: n.hash hash arity)
-          (:: super hash body))
+          (\ (list.hash super) hash environment)
+          (\ n.hash hash arity)
+          (\ super hash body))
       
       (#Apply [abstraction arguments])
       ($_ n.* 3
-          (:: super hash abstraction)
-          (:: (list.hash super) hash arguments))
+          (\ super hash abstraction)
+          (\ (list.hash super) hash arguments))
       )))
 
 (structure: (control-equivalence (^open "\."))
@@ -714,7 +714,7 @@
     (case [reference sample]
       (^template [ ]
         [[( reference) ( sample)]
-         (:: ( \=) = reference sample)])
+         (\ ( \=) = reference sample)])
       ([#Branch ..branch-equivalence]
        [#Loop ..loop-equivalence]
        [#Function ..function-equivalence])
@@ -726,13 +726,13 @@
   (All [a] (-> (Hash a) (Hash (Control a))))
 
   (def: &equivalence
-    (..control-equivalence (:: super &equivalence)))
+    (..control-equivalence (\ super &equivalence)))
 
   (def: (hash value)
     (case value
       (^template [  ]
         [( value)
-         (n.*  (:: ( super) hash value))])
+         (n.*  (\ ( super) hash value))])
       ([2 #Branch ..branch-hash]
        [3 #Loop ..loop-hash]
        [5 #Function ..function-hash])
@@ -745,7 +745,7 @@
     (case [reference sample]
       (^template [ ]
         [[( reference') ( sample')]
-         (::  = reference' sample')])
+         (\  = reference' sample')])
       ([#Primitive ..primitive-equivalence]
        [#Structure (analysis.composite-equivalence =)]
        [#Reference reference.equivalence]
@@ -769,7 +769,7 @@
       (case value
         (^template [ ]
           [( value)
-           (::  hash value)])
+           (\  hash value)])
         ([#Primitive ..primitive-hash]
          [#Structure (analysis.composite-hash recur-hash)]
          [#Reference reference.hash]
diff --git a/stdlib/source/lux/tool/compiler/meta/archive/artifact.lux b/stdlib/source/lux/tool/compiler/meta/archive/artifact.lux
index dec8938b3..319b23169 100644
--- a/stdlib/source/lux/tool/compiler/meta/archive/artifact.lux
+++ b/stdlib/source/lux/tool/compiler/meta/archive/artifact.lux
@@ -127,28 +127,28 @@
                       (do {! <>.monad}
                         [tag .nat]
                         (case tag
-                          0 (:: ! map (|>> #Anonymous) .any)
-                          1 (:: ! map (|>> #Definition) .text)
-                          2 (:: ! map (|>> #Analyser) .text)
-                          3 (:: ! map (|>> #Synthesizer) .text)
-                          4 (:: ! map (|>> #Generator) .text)
-                          5 (:: ! map (|>> #Directive) .text)
+                          0 (\ ! map (|>> #Anonymous) .any)
+                          1 (\ ! map (|>> #Definition) .text)
+                          2 (\ ! map (|>> #Analyser) .text)
+                          3 (\ ! map (|>> #Synthesizer) .text)
+                          4 (\ ! map (|>> #Generator) .text)
+                          5 (\ ! map (|>> #Directive) .text)
                           _ (<>.fail (exception.construct ..invalid-category [tag])))))]
       (|> (.row/64 category)
-          (:: <>.monad map (row\fold (function (_ artifact registry)
-                                       (product.right
-                                        (case artifact
-                                          #Anonymous
-                                          (..resource registry)
-
-                                          (^template [ ]
-                                            [( name)
-                                             ( name registry)])
-                                          ([#Definition ..definition]
-                                           [#Analyser ..analyser]
-                                           [#Synthesizer ..synthesizer]
-                                           [#Generator ..generator]
-                                           [#Directive ..directive])
-                                          )))
-                                     ..empty)))))
+          (\ <>.monad map (row\fold (function (_ artifact registry)
+                                      (product.right
+                                       (case artifact
+                                         #Anonymous
+                                         (..resource registry)
+
+                                         (^template [ ]
+                                           [( name)
+                                            ( name registry)])
+                                         ([#Definition ..definition]
+                                          [#Analyser ..analyser]
+                                          [#Synthesizer ..synthesizer]
+                                          [#Generator ..generator]
+                                          [#Directive ..directive])
+                                         )))
+                                    ..empty)))))
   )
diff --git a/stdlib/source/lux/tool/compiler/meta/archive/descriptor.lux b/stdlib/source/lux/tool/compiler/meta/archive/descriptor.lux
index 987aa5fbf..2ae89cf4e 100644
--- a/stdlib/source/lux/tool/compiler/meta/archive/descriptor.lux
+++ b/stdlib/source/lux/tool/compiler/meta/archive/descriptor.lux
@@ -42,7 +42,7 @@
       .text
       .text
       .nat
-      (:: <>.monad wrap #.Cached)
+      (\ <>.monad wrap #.Cached)
       (.set text.hash .text)
       artifact.parser
       ))
diff --git a/stdlib/source/lux/tool/compiler/meta/archive/document.lux b/stdlib/source/lux/tool/compiler/meta/archive/document.lux
index bc6fc5288..a8c656ff9 100644
--- a/stdlib/source/lux/tool/compiler/meta/archive/document.lux
+++ b/stdlib/source/lux/tool/compiler/meta/archive/document.lux
@@ -31,9 +31,9 @@
   (def: #export (read key document)
     (All [d] (-> (Key d) (Document Any) (Try d)))
     (let [[document//signature document//content] (:representation document)]
-      (if (:: signature.equivalence =
-              (key.signature key)
-              document//signature)
+      (if (\ signature.equivalence =
+             (key.signature key)
+             document//signature)
         (#try.Success (:share [e]
                               {(Key e)
                                key}
@@ -66,5 +66,5 @@
   (def: #export parser
     (All [d] (-> (Parser d) (Parser (Document d))))
     (|>> (<>.and signature.parser)
-         (:: <>.monad map (|>> :abstraction))))
+         (\ <>.monad map (|>> :abstraction))))
   )
diff --git a/stdlib/source/lux/tool/compiler/meta/io.lux b/stdlib/source/lux/tool/compiler/meta/io.lux
index 41481d0fa..0a7927aa0 100644
--- a/stdlib/source/lux/tool/compiler/meta/io.lux
+++ b/stdlib/source/lux/tool/compiler/meta/io.lux
@@ -13,7 +13,7 @@
 
 (def: #export (sanitize system)
   (All [m] (-> (System m) Text Text))
-  (text.replace-all "/" (:: system separator)))
+  (text.replace-all "/" (\ system separator)))
 
 (def: #export lux-context
   "lux")
diff --git a/stdlib/source/lux/tool/compiler/meta/io/archive.lux b/stdlib/source/lux/tool/compiler/meta/io/archive.lux
index 63639f444..e2c046449 100644
--- a/stdlib/source/lux/tool/compiler/meta/io/archive.lux
+++ b/stdlib/source/lux/tool/compiler/meta/io/archive.lux
@@ -61,31 +61,31 @@
 (def: (archive system static)
   (All [!] (-> (file.System !) Static Path))
   (format (get@ #static.target static)
-          (:: system separator)
+          (\ system separator)
           (get@ #static.host static)))
 
 (def: (unversioned-lux-archive system static)
   (All [!] (-> (file.System !) Static Path))
   (format (..archive system static)
-          (:: system separator)
+          (\ system separator)
           //.lux-context))
 
 (def: (versioned-lux-archive system static)
   (All [!] (-> (file.System !) Static Path))
   (format (..unversioned-lux-archive system static)
-          (:: system separator)
+          (\ system separator)
           (%.nat version.version)))
 
 (def: (module system static module-id)
   (All [!] (-> (file.System !) Static archive.ID Path))
   (format (..versioned-lux-archive system static)
-          (:: system separator)
+          (\ system separator)
           (%.nat module-id)))
 
 (def: #export (artifact system static module-id name)
   (All [!] (-> (file.System !) Static archive.ID Text Path))
   (format (..module system static module-id)
-          (:: system separator)
+          (\ system separator)
           name
           (get@ #static.artifact-extension static)))
 
@@ -99,7 +99,7 @@
       (do !
         [_ (file.get-directory ! system (..unversioned-lux-archive system static))
          _ (file.get-directory ! system (..versioned-lux-archive system static))
-         outcome (!.use (:: system create-directory) module)]
+         outcome (!.use (\ system create-directory) module)]
         (case outcome
           (#try.Success output)
           (wrap (#try.Success []))
@@ -115,7 +115,7 @@
     [artifact (: (Promise (Try (File Promise)))
                  (file.get-file promise.monad system
                                 (..artifact system static module-id name)))]
-    (!.use (:: artifact over-write) content)))
+    (!.use (\ artifact over-write) content)))
 
 (def: #export (enable system static)
   (-> (file.System Promise) Static (Promise (Try Any)))
@@ -129,7 +129,7 @@
 (def: (general-descriptor system static)
   (-> (file.System Promise) Static Path)
   (format (..archive system static)
-          (:: system separator)
+          (\ system separator)
           "general-descriptor"))
 
 (def: #export (freeze system static archive)
@@ -137,7 +137,7 @@
   (do (try.with promise.monad)
     [file (: (Promise (Try (File Promise)))
              (file.get-file promise.monad system (..general-descriptor system static)))]
-    (!.use (:: file over-write) (archive.export ///.version archive))))
+    (!.use (\ file over-write) (archive.export ///.version archive))))
 
 (def: module-descriptor-file
   "module-descriptor")
@@ -145,7 +145,7 @@
 (def: (module-descriptor system static module-id)
   (-> (file.System Promise) Static archive.ID Path)
   (format (..module system static module-id)
-          (:: system separator)
+          (\ system separator)
           ..module-descriptor-file))
 
 (def: #export (cache system static module-id content)
@@ -154,7 +154,7 @@
     [file (: (Promise (Try (File Promise)))
              (file.get-file promise.monad system
                             (..module-descriptor system static module-id)))]
-    (!.use (:: file over-write) content)))
+    (!.use (\ file over-write) content)))
 
 (def: (read-module-descriptor system static module-id)
   (-> (file.System Promise) Static archive.ID (Promise (Try Binary)))
@@ -162,7 +162,7 @@
     [file (: (Promise (Try (File Promise)))
              (file.get-file promise.monad system
                             (..module-descriptor system static module-id)))]
-    (!.use (:: file content) [])))
+    (!.use (\ file content) [])))
 
 (def: parser
   (Parser [Descriptor (Document .Module)])
@@ -188,21 +188,21 @@
 (def: (cached-artifacts system static module-id)
   (-> (file.System Promise) Static archive.ID (Promise (Try (Dictionary Text Binary))))
   (do {! (try.with promise.monad)}
-    [module-dir (!.use (:: system directory) (..module system static module-id))
-     cached-files (!.use (:: module-dir files) [])]
+    [module-dir (!.use (\ system directory) (..module system static module-id))
+     cached-files (!.use (\ module-dir files) [])]
     (|> cached-files
         (list\map (function (_ file)
-                    [(!.use (:: file name) [])
-                     (!.use (:: file path) [])]))
+                    [(!.use (\ file name) [])
+                     (!.use (\ file path) [])]))
         (list.filter (|>> product.left (text\= ..module-descriptor-file) not))
         (monad.map ! (function (_ [name path])
                        (do !
                          [file (: (Promise (Try (File Promise)))
-                                  (!.use (:: system file) path))
+                                  (!.use (\ system file) path))
                           data (: (Promise (Try Binary))
-                                  (!.use (:: file content) []))]
+                                  (!.use (\ file content) []))]
                          (wrap [name data]))))
-        (:: ! map (dictionary.from-list text.hash)))))
+        (\ ! map (dictionary.from-list text.hash)))))
 
 (type: Definitions (Dictionary Text Any))
 (type: Analysers (Dictionary Text analysis.Handler))
@@ -239,11 +239,11 @@
                                     (case (do !
                                             [data (try.from-maybe (dictionary.get (format (%.nat artifact-id) extension) actual))
                                              #let [context [module-id artifact-id]
-                                                   directive (:: host ingest context data)]]
+                                                   directive (\ host ingest context data)]]
                                             (case artifact-category
                                               #artifact.Anonymous
                                               (do !
-                                                [_ (:: host re-learn context directive)]
+                                                [_ (\ host re-learn context directive)]
                                                 (wrap [definitions
                                                        [analysers
                                                         synthesizers
@@ -258,7 +258,7 @@
                                                         generators
                                                         directives]])
                                                 (do !
-                                                  [value (:: host re-load context directive)]
+                                                  [value (\ host re-load context directive)]
                                                   (wrap [(dictionary.put name value definitions)
                                                          [analysers
                                                           synthesizers
@@ -267,7 +267,7 @@
 
                                               (#artifact.Analyser extension)
                                               (do !
-                                                [value (:: host re-load context directive)]
+                                                [value (\ host re-load context directive)]
                                                 (wrap [definitions
                                                        [(dictionary.put extension (:coerce analysis.Handler value) analysers)
                                                         synthesizers
@@ -276,7 +276,7 @@
 
                                               (#artifact.Synthesizer extension)
                                               (do !
-                                                [value (:: host re-load context directive)]
+                                                [value (\ host re-load context directive)]
                                                 (wrap [definitions
                                                        [analysers
                                                         (dictionary.put extension (:coerce synthesis.Handler value) synthesizers)
@@ -285,7 +285,7 @@
 
                                               (#artifact.Generator extension)
                                               (do !
-                                                [value (:: host re-load context directive)]
+                                                [value (\ host re-load context directive)]
                                                 (wrap [definitions
                                                        [analysers
                                                         synthesizers
@@ -294,7 +294,7 @@
 
                                               (#artifact.Directive extension)
                                               (do !
-                                                [value (:: host re-load context directive)]
+                                                [value (\ host re-load context directive)]
                                                 (wrap [definitions
                                                        [analysers
                                                         synthesizers
@@ -337,12 +337,12 @@
 (def: (purge! system static [module-name module-id])
   (-> (file.System Promise) Static [Module archive.ID] (Promise (Try Any)))
   (do {! (try.with promise.monad)}
-    [cache (!.use (:: system directory) [(..module system static module-id)])
-     artifacts (!.use (:: cache files) [])
+    [cache (!.use (\ system directory) [(..module system static module-id)])
+     artifacts (!.use (\ cache files) [])
      _ (monad.map ! (function (_ artifact)
-                      (!.use (:: artifact delete) []))
+                      (!.use (\ artifact delete) []))
                   artifacts)]
-    (!.use (:: cache discard) [])))
+    (!.use (\ cache discard) [])))
 
 (def: (valid-cache? expected actual)
   (-> Descriptor Input Bit)
@@ -408,8 +408,8 @@
                                 (function (_ [module [module-id descriptor,document]] archive)
                                   (archive.add module descriptor,document archive))
                                 archive)
-                    (:: try.monad map (dependency.load-order $.key))
-                    (:: try.monad join)
+                    (\ try.monad map (dependency.load-order $.key))
+                    (\ try.monad join)
                     promise\wrap)
      #let [purge (..full-purge pre-loaded-caches load-order)]
      _ (|> purge
@@ -447,11 +447,11 @@
     (-> (generation.Host expression directive) (file.System Promise) Static Import (List Context)
         (Promise (Try [Archive .Lux Bundles]))))
   (do promise.monad
-    [file (!.use (:: system file) (..general-descriptor system static))]
+    [file (!.use (\ system file) (..general-descriptor system static))]
     (case file
       (#try.Success file)
       (do (try.with promise.monad)
-        [binary (!.use (:: file content) [])
+        [binary (!.use (\ file content) [])
          archive (promise\wrap (archive.import ///.version binary))]
         (..load-every-reserved-module host-environment system static import contexts archive))
       
diff --git a/stdlib/source/lux/tool/compiler/meta/io/context.lux b/stdlib/source/lux/tool/compiler/meta/io/context.lux
index 572905325..74f0b4bd8 100644
--- a/stdlib/source/lux/tool/compiler/meta/io/context.lux
+++ b/stdlib/source/lux/tool/compiler/meta/io/context.lux
@@ -49,7 +49,7 @@
   (All [m] (-> (file.System m) Context Module Path))
   (|> module
       (//.sanitize system)
-      (format context (:: system separator))))
+      (format context (\ system separator))))
 
 (def: (find-source-file system contexts module extension)
   (-> (file.System Promise) (List Context) Module Extension
@@ -61,7 +61,7 @@
     (#.Cons context contexts')
     (do promise.monad
       [#let [path (format (..path system context module) extension)]
-       file (!.use (:: system file) [path])]
+       file (!.use (\ system file) [path])]
       (case file
         (#try.Success file)
         (wrap (#try.Success [path file]))
@@ -83,13 +83,13 @@
     (case outcome
       (#try.Success [path file])
       (do (try.with !)
-        [data (!.use (:: file content) [])]
+        [data (!.use (\ file content) [])]
         (wrap [path data]))
 
       (#try.Failure _)
       (do (try.with !)
         [[path file] (..find-source-file system contexts module ..lux-extension)
-         data (!.use (:: file content) [])]
+         data (!.use (\ file content) [])]
         (wrap [path data])))))
 
 (def: (find-library-source-file import partial-host-extension module)
@@ -147,7 +147,7 @@
 
 (def: (clean-path system context path)
   (All [!] (-> (file.System !) Context Path (Try Path)))
-  (let [prefix (format context (:: system separator))]
+  (let [prefix (format context (\ system separator))]
     (case (text.split-with prefix path)
       #.None
       (exception.throw ..cannot-clean-path [prefix path])
@@ -158,23 +158,23 @@
 (def: (enumerate-context system context enumeration)
   (-> (file.System Promise) Context Enumeration (Promise (Try Enumeration)))
   (do {! (try.with promise.monad)}
-    [directory (!.use (:: system directory) [context])]
+    [directory (!.use (\ system directory) [context])]
     (loop [directory directory
            enumeration enumeration]
       (do !
-        [files (!.use (:: directory files) [])
+        [files (!.use (\ directory files) [])
          enumeration (monad.fold ! (function (_ file enumeration)
-                                     (let [path (!.use (:: file path) [])]
+                                     (let [path (!.use (\ file path) [])]
                                        (if (text.ends-with? ..lux-extension path)
                                          (do !
                                            [path (promise\wrap (..clean-path system context path))
-                                            source-code (!.use (:: file content) [])]
+                                            source-code (!.use (\ file content) [])]
                                            (promise\wrap
                                             (dictionary.try-put path source-code enumeration)))
                                          (wrap enumeration))))
                                  enumeration
                                  files)
-         directories (!.use (:: directory directories) [])]
+         directories (!.use (\ directory directories) [])]
         (monad.fold ! recur enumeration directories)))))
 
 (def: Action
diff --git a/stdlib/source/lux/tool/compiler/meta/packager/jvm.lux b/stdlib/source/lux/tool/compiler/meta/packager/jvm.lux
index f5838cf80..fa63bedab 100644
--- a/stdlib/source/lux/tool/compiler/meta/packager/jvm.lux
+++ b/stdlib/source/lux/tool/compiler/meta/packager/jvm.lux
@@ -49,40 +49,49 @@
 (import: java/lang/String)
 
 (import: java/util/jar/Attributes
-  (put [java/lang/Object java/lang/Object] #? java/lang/Object))
+  ["#::."
+   (put [java/lang/Object java/lang/Object] #? java/lang/Object)])
 
 (import: java/util/jar/Attributes$Name
-  (#static MAIN_CLASS java/util/jar/Attributes$Name)
-  (#static MANIFEST_VERSION java/util/jar/Attributes$Name))
+  ["#::."
+   (#static MAIN_CLASS java/util/jar/Attributes$Name)
+   (#static MANIFEST_VERSION java/util/jar/Attributes$Name)])
 
 (import: java/util/jar/Manifest
-  (new [])
-  (getMainAttributes [] java/util/jar/Attributes))
+  ["#::."
+   (new [])
+   (getMainAttributes [] java/util/jar/Attributes)])
 
 (import: java/io/Flushable
-  (flush [] void))
+  ["#::."
+   (flush [] void)])
 
 (import: java/io/Closeable
-  (close [] void))
+  ["#::."
+   (close [] void)])
 
 (import: java/io/OutputStream)
 
 (import: java/io/ByteArrayOutputStream
-  (new [int])
-  (toByteArray [] [byte]))
+  ["#::."
+   (new [int])
+   (toByteArray [] [byte])])
 
 (import: java/util/zip/ZipEntry)
 
 (import: java/util/zip/ZipOutputStream
-  (write [[byte] int int] void)
-  (closeEntry [] void))
+  ["#::."
+   (write [[byte] int int] void)
+   (closeEntry [] void)])
 
 (import: java/util/jar/JarEntry
-  (new [java/lang/String]))
+  ["#::."
+   (new [java/lang/String])])
 
 (import: java/util/jar/JarOutputStream
-  (new [java/io/OutputStream java/util/jar/Manifest])
-  (putNextEntry [java/util/zip/ZipEntry] void))
+  ["#::."
+   (new [java/io/OutputStream java/util/jar/Manifest])
+   (putNextEntry [java/util/zip/ZipEntry] void)])
 
 (def: byte 1)
 ## https://en.wikipedia.org/wiki/Kibibyte
@@ -110,8 +119,8 @@
         (Action ! java/util/jar/JarOutputStream)))
   (do (try.with monad)
     [artifact (let [[module artifact] context]
-                (!.use (:: file-system file) [(io.artifact file-system static module (%.nat artifact))]))
-     content (!.use (:: artifact content) [])
+                (!.use (\ file-system file) [(io.artifact file-system static module (%.nat artifact))]))
+     content (!.use (\ artifact content) [])
      #let [class-path (format (runtime.class-name context) (get@ #static.artifact-extension static))]]
     (wrap (do-to sink
             (java/util/jar/JarOutputStream::putNextEntry (java/util/jar/JarEntry::new class-path))
@@ -136,7 +145,7 @@
                    {(Monad !)
                     monad}
                    {(! (Try (Directory !)))
-                    (:assume (!.use (:: file-system directory) [(get@ #static.target static)]))})
+                    (:assume (!.use (\ file-system directory) [(get@ #static.target static)]))})
      order (|> archive
                archive.archived
                (monad.map try.monad (function (_ module)
@@ -149,7 +158,7 @@
                                                   row.to-list
                                                   (list\map (|>> (get@ #artifact.id)))
                                                   [module-id])))))
-               (:: monad wrap))
+               (\ monad wrap))
      #let [buffer (java/io/ByteArrayOutputStream::new (.int ..mebi-byte))
            sink (java/util/jar/JarOutputStream::new buffer (..manifest program))]
      sink (monad.fold ! (..write-module monad file-system static) sink order)
diff --git a/stdlib/source/lux/tool/compiler/meta/packager/script.lux b/stdlib/source/lux/tool/compiler/meta/packager/script.lux
index b40873ace..5b826a4e0 100644
--- a/stdlib/source/lux/tool/compiler/meta/packager/script.lux
+++ b/stdlib/source/lux/tool/compiler/meta/packager/script.lux
@@ -44,8 +44,8 @@
         (Action ! Binary)))
   (do (try.with monad)
     [artifact (let [[module artifact] context]
-                (!.use (:: file-system file) [(io.artifact file-system static module (%.nat artifact))]))]
-    (!.use (:: artifact content) [])))
+                (!.use (\ file-system file) [(io.artifact file-system static module (%.nat artifact))]))]
+    (!.use (\ artifact content) [])))
 
 (def: (write-module monad file-system static sequence [module artifacts] so-far)
   (All [! directive]
@@ -55,7 +55,7 @@
               (function (_ artifact so-far)
                 (do (try.with monad)
                   [content (..write-artifact monad file-system static [module artifact])
-                   content (:: monad wrap (encoding.from-utf8 content))]
+                   content (\ monad wrap (encoding.from-utf8 content))]
                   (wrap (sequence so-far
                                   (:share [directive]
                                           {directive
@@ -73,8 +73,8 @@
         (Packager !)))
   (function (package monad file-system static archive program)
     (do {! (try.with monad)}
-      [cache (!.use (:: file-system directory) [(get@ #static.target static)])
-       order (:: monad wrap (dependency.load-order $.key archive))]
+      [cache (!.use (\ file-system directory) [(get@ #static.target static)])
+       order (\ monad wrap (dependency.load-order $.key archive))]
       (|> order
           (list\map (function (_ [module [module-id [descriptor document]]])
                       [module-id
@@ -84,4 +84,4 @@
                            row.to-list
                            (list\map (|>> (get@ #artifact.id))))]))
           (monad.fold ! (..write-module monad file-system static sequence) header)
-          (:: ! map (|>> to-code encoding.to-utf8))))))
+          (\ ! map (|>> to-code encoding.to-utf8))))))
diff --git a/stdlib/source/lux/tool/compiler/phase.lux b/stdlib/source/lux/tool/compiler/phase.lux
index 312428ff7..847faaefa 100644
--- a/stdlib/source/lux/tool/compiler/phase.lux
+++ b/stdlib/source/lux/tool/compiler/phase.lux
@@ -42,7 +42,7 @@
     (-> s (Operation s o) (Try o)))
   (|> state
       operation
-      (:: try.monad map product.right)))
+      (\ try.monad map product.right)))
 
 (def: #export get-state
   (All [s o]
@@ -81,7 +81,7 @@
 
 (syntax: #export (assert exception message test)
   (wrap (list (` (if (~ test)
-                   (:: ..monad (~' wrap) [])
+                   (\ ..monad (~' wrap) [])
                    (..throw (~ exception) (~ message)))))))
 
 (def: #export identity
diff --git a/stdlib/source/lux/tool/compiler/reference.lux b/stdlib/source/lux/tool/compiler/reference.lux
index 5ade63e39..62ec9e3ca 100644
--- a/stdlib/source/lux/tool/compiler/reference.lux
+++ b/stdlib/source/lux/tool/compiler/reference.lux
@@ -28,7 +28,7 @@
     (case [reference sample]
       (^template [ ]
         [[( reference) ( sample)]
-         (::  = reference sample)])
+         (\  = reference sample)])
       ([#Variable /variable.equivalence]
        [#Constant name.equivalence])
 
@@ -46,7 +46,7 @@
       (^template [  ]
         [( value)
          ($_ n.* 
-             (::  hash value))])
+             (\  hash value))])
       ([2 #Variable /variable.hash]
        [3 #Constant name.hash])
       )))
diff --git a/stdlib/source/lux/tool/compiler/reference/variable.lux b/stdlib/source/lux/tool/compiler/reference/variable.lux
index e97974596..2a4d1424d 100644
--- a/stdlib/source/lux/tool/compiler/reference/variable.lux
+++ b/stdlib/source/lux/tool/compiler/reference/variable.lux
@@ -42,7 +42,7 @@
     (|>> (case> (^template [ ]
                   [( register)
                    ($_ n.* 
-                       (:: n.hash hash register))])
+                       (\ n.hash hash register))])
                 ([2 #Local]
                  [3 #Foreign])))))
 
diff --git a/stdlib/source/lux/tool/interpreter.lux b/stdlib/source/lux/tool/interpreter.lux
index a8c2fe0b6..e18a27c47 100644
--- a/stdlib/source/lux/tool/interpreter.lux
+++ b/stdlib/source/lux/tool/interpreter.lux
@@ -77,9 +77,9 @@
                                     #.info #.mode]
                                    #.Interpreter
                                    state))
-     [state _] (:: (get@ #platform.file-system platform)
-                   lift (phase.run' state enter-module))
-     _ (:: Console write ..welcome-message)]
+     [state _] (\ (get@ #platform.file-system platform)
+                  lift (phase.run' state enter-module))
+     _ (\ Console write ..welcome-message)]
     (wrap state)))
 
 (with-expansions [ (as-is (Operation anchor expression directive [Type Any]))]
@@ -201,16 +201,16 @@
            multi-line? #0]
       (do !
         [_ (if multi-line?
-             (:: Console write "  ")
-             (:: Console write "> "))
-         line (:: Console read-line)]
+             (\ Console write "  ")
+             (\ Console write "> "))
+         line (\ Console read-line)]
         (if (and (not multi-line?)
                  (text\= ..exit-command line))
-          (:: Console write ..farewell-message)
+          (\ Console write ..farewell-message)
           (case (read-eval-print (update@ #source (add-line line) context))
             (#try.Success [context' representation])
             (do !
-              [_ (:: Console write representation)]
+              [_ (\ Console write representation)]
               (recur context' #0))
 
             (#try.Failure error)
diff --git a/stdlib/source/lux/type/abstract.lux b/stdlib/source/lux/type/abstract.lux
index e89f33774..95855c5df 100644
--- a/stdlib/source/lux/type/abstract.lux
+++ b/stdlib/source/lux/type/abstract.lux
@@ -201,7 +201,7 @@
 (def: declaration
   (Parser [Text (List Text)])
   (<>.either (.form (<>.and .local-identifier (<>.some .local-identifier)))
-             (<>.and .local-identifier (:: <>.monad wrap (list)))))
+             (<>.and .local-identifier (\ <>.monad wrap (list)))))
 
 ## TODO: Make sure the generated code always gets optimized away.
 ## (This applies to uses of ":abstraction" and ":representation")
diff --git a/stdlib/source/lux/type/check.lux b/stdlib/source/lux/type/check.lux
index 742e02557..13a1e1381 100644
--- a/stdlib/source/lux/type/check.lux
+++ b/stdlib/source/lux/type/check.lux
@@ -426,7 +426,7 @@
           (do !
             [ringE (..ring idE)
              ringA (..ring idA)]
-            (if (:: set.equivalence = ringE ringA)
+            (if (\ set.equivalence = ringE ringA)
               (wrap assumptions)
               ## Fuse 2 rings
               (do !
diff --git a/stdlib/source/lux/type/dynamic.lux b/stdlib/source/lux/type/dynamic.lux
index be017585e..3d0d96ee9 100644
--- a/stdlib/source/lux/type/dynamic.lux
+++ b/stdlib/source/lux/type/dynamic.lux
@@ -39,8 +39,8 @@
     (with-gensyms [g!type g!value]
       (wrap (list (` (let [[(~ g!type) (~ g!value)] ((~! ..dynamic-representation) (~ value))]
                        (: ((~! try.Try) (~ type))
-                          (if (:: (~! type.equivalence) (~' =)
-                                  (.type (~ type)) (~ g!type))
+                          (if (\ (~! type.equivalence) (~' =)
+                                 (.type (~ type)) (~ g!type))
                             (#try.Success (:coerce (~ type) (~ g!value)))
                             ((~! exception.throw) ..wrong-type [(.type (~ type)) (~ g!type)])))))))))
 
diff --git a/stdlib/source/lux/type/implicit.lux b/stdlib/source/lux/type/implicit.lux
index cf2068839..69890cd3e 100644
--- a/stdlib/source/lux/type/implicit.lux
+++ b/stdlib/source/lux/type/implicit.lux
@@ -36,7 +36,7 @@
       (find-type-var id' env)
 
       _
-      (:: meta.monad wrap type))
+      (\ meta.monad wrap type))
 
     (#.Some [_ #.None])
     (meta.fail (format "Unbound type-var " (%.nat id)))
@@ -73,12 +73,12 @@
 
     (#.Product left right)
     (if (n.= 0 idx)
-      (:: check.monad wrap left)
+      (\ check.monad wrap left)
       (find-member-type (dec idx) right))
 
     _
     (if (n.= 0 idx)
-      (:: check.monad wrap sig-type)
+      (\ check.monad wrap sig-type)
       (check.fail (format "Cannot find member type " (%.nat idx) " for " (%.type sig-type))))))
 
 (def: (find-member-name member)
@@ -107,7 +107,7 @@
                      (meta.fail (format "Too many candidate tags: " (%.list %.name candidates))))))
 
     _
-    (:: meta.monad wrap member)))
+    (\ meta.monad wrap member)))
 
 (def: (resolve-member member)
   (-> Name (Meta [Nat Type]))
@@ -143,8 +143,8 @@
   (Meta (List [Name Type]))
   (do {! meta.monad}
     [this-module-name meta.current-module-name]
-    (:: ! map (prepare-definitions this-module-name this-module-name)
-        (meta.definitions this-module-name))))
+    (\ ! map (prepare-definitions this-module-name this-module-name)
+       (meta.definitions this-module-name))))
 
 (def: import-structs
   (Meta (List [Name Type]))
@@ -152,8 +152,8 @@
     [this-module-name meta.current-module-name
      imp-mods (meta.imported-modules this-module-name)
      export-batches (monad.map ! (function (_ imp-mod)
-                                   (:: ! map (prepare-definitions imp-mod this-module-name)
-                                       (meta.definitions imp-mod)))
+                                   (\ ! map (prepare-definitions imp-mod this-module-name)
+                                      (meta.definitions imp-mod)))
                                imp-mods)]
     (wrap (list\join export-batches))))
 
@@ -188,7 +188,7 @@
              final-output]))
     
     _
-    (:: check.monad wrap [(list) type])))
+    (\ check.monad wrap [(list) type])))
 
 (def: (check-apply member-type input-types output-type)
   (-> Type (List Type) Type (Check []))
@@ -248,7 +248,7 @@
       (check.fail (format "No candidates for provisioning: " (%.type dep)))
 
       (#.Cons winner #.Nil)
-      (:: check.monad wrap winner)
+      (\ check.monad wrap winner)
 
       _
       (check.fail (format "Too many candidates for provisioning: " (%.type dep) " --- " (%.list (|>> product.left %.name) candidates))))
@@ -313,10 +313,10 @@
     _
     (` ((~ (code.identifier constructor)) (~+ (list\map instance$ dependencies))))))
 
-(syntax: #export (:::
-                   {member s.identifier}
-                   {args (p.or (p.and (p.some s.identifier) s.end!)
-                               (p.and (p.some s.any) s.end!))})
+(syntax: #export (\\
+                  {member s.identifier}
+                  {args (p.or (p.and (p.some s.identifier) s.end!)
+                              (p.and (p.some s.any) s.end!))})
   {#.doc (doc "Automatic structure selection (for type-class style polymorphism)."
               "This feature layers type-class style polymorphism on top of Lux's signatures and structures."
               "When calling a polymorphic function, or using a polymorphic constant,"
@@ -328,16 +328,16 @@
               "a compile-time error will be raised, to alert the user."
               "Examples:"
               "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."
-              (::: eq.= x y)
+              (\\ eq.= x y)
               "(List Nat) equivalence"
-              (::: =
-                (list.indices 10)
-                (list.indices 10))
+              (\\ =
+                  (list.indices 10)
+                  (list.indices 10))
               "(Functor List) map"
-              (::: map inc (list.indices 10))
+              (\\ map inc (list.indices 10))
               "Caveat emptor: You need to make sure to import the module of any structure you want to use."
               "Otherwise, this macro will not find it.")}
   (case args
@@ -352,9 +352,9 @@
         (meta.fail (format "No structure option could be found for member: " (%.name member)))
 
         (#.Cons chosen #.Nil)
-        (wrap (list (` (:: (~ (instance$ chosen))
-                           (~ (code.local-identifier (product.right member)))
-                           (~+ (list\map code.identifier args))))))
+        (wrap (list (` (\ (~ (instance$ chosen))
+                          (~ (code.local-identifier (product.right member)))
+                          (~+ (list\map code.identifier args))))))
 
         _
         (meta.fail (format "Too many options available: "
@@ -367,7 +367,7 @@
     (do {! meta.monad}
       [labels (|> (meta.gensym "") (list.repeat (list.size args)) (monad.seq !))]
       (wrap (list (` (let [(~+ (|> (list.zip/2 labels args) (list\map join-pair) list\join))]
-                       (..::: (~ (code.identifier member)) (~+ labels)))))))
+                       (..\\ (~ (code.identifier member)) (~+ labels)))))))
     ))
 
 (def: (implicit-bindings amount)
diff --git a/stdlib/source/lux/type/resource.lux b/stdlib/source/lux/type/resource.lux
index 60698b85f..b91f9d990 100644
--- a/stdlib/source/lux/type/resource.lux
+++ b/stdlib/source/lux/type/resource.lux
@@ -48,7 +48,7 @@
   
   (def: (wrap value)
     (function (_ keys)
-      (:: Monad wrap [keys value])))
+      (\ Monad wrap [keys value])))
 
   (def: (bind f input)
     (function (_ keysI)
@@ -107,7 +107,7 @@
     [(def: #export ( value)
        (All [v] (Ex [k] (-> v (Affine  (Key  k) (Res k v)))))
        (function (_ keys)
-         (::  wrap [[( []) keys] (:abstraction value)])))]
+         (\  wrap [[( []) keys] (:abstraction value)])))]
 
     [ordered-pure      Identity identity.monad Ordered     ordered-key]
     [ordered-sync      IO       io.monad       Ordered     ordered-key]
@@ -122,7 +122,7 @@
        (All [v k m]
          (-> (Res k v) (Relevant  (Key m k) v)))
        (function (_ [key keys])
-         (::  wrap [keys (:representation resource)])))]
+         (\  wrap [keys (:representation resource)])))]
 
     [read-pure  Identity identity.monad]
     [read-sync  IO       io.monad]
@@ -151,7 +151,7 @@
 
 (def: (no-op Monad)
   (All [m] (-> (Monad m) (Linear m Any)))
-  (function (_ context) (:: Monad wrap [context []])))
+  (function (_ context) (\ Monad wrap [context []])))
 
 (template [  ]
   [(syntax: #export ( {swaps ..indices})
@@ -181,7 +181,7 @@
                                           [(~+ g!outputsT+) (~ g!context)]
                                           .Any))
                              (function ((~ g!_) [(~+ g!inputs) (~ g!context)])
-                               (:: (~! ) (~' wrap) [[(~+ g!outputs) (~ g!context)] []]))))))))))]
+                               (\ (~! ) (~' wrap) [[(~+ g!outputs) (~ g!context)] []]))))))))))]
 
   [exchange-pure  Identity identity.monad]
   [exchange-sync  IO       io.monad]
@@ -207,7 +207,7 @@
                                         [ (~ g!context)]
                                         .Any))
                            (function ((~ g!_) [ (~ g!context)])
-                             (:: (~! ) (~' wrap) [[ (~ g!context)] []])))))))))]
+                             (\ (~! ) (~' wrap) [[ (~ g!context)] []])))))))))]
 
   [group-pure     Identity identity.monad (~+ g!keys)   [(~+ g!keys)]]
   [group-sync     IO       io.monad       (~+ g!keys)   [(~+ g!keys)]]
diff --git a/stdlib/source/lux/type/unit.lux b/stdlib/source/lux/type/unit.lux
index a56c22e3e..deffa4e83 100644
--- a/stdlib/source/lux/type/unit.lux
+++ b/stdlib/source/lux/type/unit.lux
@@ -144,8 +144,8 @@
 
 (def: #export (re-scale from to quantity)
   (All [si so u] (-> (Scale si) (Scale so) (Qty (si u)) (Qty (so u))))
-  (let [[numerator denominator] (ratio./ (:: from ratio)
-                                         (:: to ratio))]
+  (let [[numerator denominator] (ratio./ (\ from ratio)
+                                         (\ to ratio))]
     (|> quantity
         out
         (i.* (.int numerator))
diff --git a/stdlib/source/lux/world/console.lux b/stdlib/source/lux/world/console.lux
index 5aafb88d1..7d68ced07 100644
--- a/stdlib/source/lux/world/console.lux
+++ b/stdlib/source/lux/world/console.lux
@@ -49,7 +49,7 @@
   (`` (structure (~~ (template [ ]
                        [(def: 
                           (
-                           (|>> (!.use (:: console )) promise.future)))]
+                           (|>> (!.use (\ console )) promise.future)))]
 
                        [read ..can-read]
                        [read-line ..can-read]
@@ -96,7 +96,7 @@
                                                (function (_ _)
                                                  (|> jvm-input
                                                      java/io/InputStream::read
-                                                     (:: (try.with io.monad) map .nat)))))
+                                                     (\ (try.with io.monad) map .nat)))))
                                             
                                             (def: read-line
                                               (..can-read
@@ -116,7 +116,7 @@
 
 (def: #export (write-line message console)
   (All [!] (-> Text (Console !) (! Any)))
-  (!.use (:: console write) (format message text.new-line)))
+  (!.use (\ console write) (format message text.new-line)))
 
 (signature: #export (Simulation s)
   (: (-> s (Try [s Char]))
@@ -139,7 +139,7 @@
                      (stm.commit
                       (do {! stm.monad}
                         [|state| (stm.read state)]
-                        (case (:: simulation  |state|)
+                        (case (\ simulation  |state|)
                           (#try.Success [|state| output])
                           (do !
                             [_ (stm.write |state| state)]
@@ -158,7 +158,7 @@
               (stm.commit
                (do {! stm.monad}
                  [|state| (stm.read state)]
-                 (case (:: simulation on-write input |state|)
+                 (case (\ simulation on-write input |state|)
                    (#try.Success |state|)
                    (do !
                      [_ (stm.write |state| state)]
@@ -173,7 +173,7 @@
               (stm.commit
                (do {! stm.monad}
                  [|state| (stm.read state)]
-                 (case (:: simulation on-close |state|)
+                 (case (\ simulation on-close |state|)
                    (#try.Success |state|)
                    (do !
                      [_ (stm.write |state| state)]
diff --git a/stdlib/source/lux/world/db/jdbc.lux b/stdlib/source/lux/world/db/jdbc.lux
index a442fda28..86865bd9b 100644
--- a/stdlib/source/lux/world/db/jdbc.lux
+++ b/stdlib/source/lux/world/db/jdbc.lux
@@ -103,7 +103,7 @@
   (-> (DB IO) (DB Promise))
   (`` (structure
        (~~ (template [ ]
-             [(def:  ( (|>> (!.use (:: db )) promise.future)))]
+             [(def:  ( (|>> (!.use (\ db )) promise.future)))]
              
              [execute can-execute]
              [insert can-insert]
@@ -160,7 +160,7 @@
   (do (try.with io.monad)
     [db (..connect creds)
      result (action db)
-     _ (!.use (:: db close) [])]
+     _ (!.use (\ db close) [])]
     (wrap result)))
 
 (def: #export (with-async-db creds action)
@@ -171,5 +171,5 @@
   (do (try.with promise.monad)
     [db (promise.future (..connect creds))
      result (action (..async db))
-     _ (promise\wrap (io.run (!.use (:: db close) [])))]
+     _ (promise\wrap (io.run (!.use (\ db close) [])))]
     (wrap result)))
diff --git a/stdlib/source/lux/world/file.lux b/stdlib/source/lux/world/file.lux
index a99e47d33..b4a2ce0ca 100644
--- a/stdlib/source/lux/world/file.lux
+++ b/stdlib/source/lux/world/file.lux
@@ -120,7 +120,7 @@
        (~~ (template [ +]
              [(with-expansions [ (template.splice +)]
                 (template []
-                  [(def:  ( (|>> (!.use (:: file )))))]
+                  [(def:  ( (|>> (!.use (\ file )))))]
 
                   ))]
 
@@ -132,7 +132,7 @@
        (~~ (template [ +]
              [(with-expansions [ (template.splice +)]
                 (template []
-                  [(def:  ( (|>> (!.use (:: file )) promise.future)))]
+                  [(def:  ( (|>> (!.use (\ file )) promise.future)))]
 
                   ))]
 
@@ -147,17 +147,17 @@
 
        (def: move
          (..can-open
-          (|>> (!.use (:: file move)) (io\map (try\map async-file)) promise.future))))))
+          (|>> (!.use (\ file move)) (io\map (try\map async-file)) promise.future))))))
 
 (def: (async-directory directory)
   (-> (Directory IO) (Directory Promise))
   (`` (structure (def: scope
-                   (:: directory scope))
+                   (\ directory scope))
 
                  (~~ (template [ ]
                        [(def: 
                           (..can-query
-                           (|>> (!.use (:: directory ))
+                           (|>> (!.use (\ directory ))
                                 (io\map (try\map (list\map )))
                                 promise.future)))]
 
@@ -166,36 +166,36 @@
 
                  (def: discard
                    (..can-delete
-                    (|>> (!.use (:: directory discard)) promise.future))))))
+                    (|>> (!.use (\ directory discard)) promise.future))))))
 
 (def: #export (async system)
   (-> (System IO) (System Promise))
   (`` (structure
        (~~ (template [ ]
              [(def:  (..can-open
-                            (|>> (!.use (:: system )) (io\map (try\map )) promise.future)))]
+                            (|>> (!.use (\ system )) (io\map (try\map )) promise.future)))]
 
              [file             ..async-file]
              [create-file      ..async-file]
              [directory        ..async-directory]
              [create-directory ..async-directory]))
 
-       (def: separator (:: system separator)))))
+       (def: separator (\ system separator)))))
 
 (def: #export (un-nest system file)
   (All [!] (-> (System !) Path (Maybe [Path Text])))
-  (case (text.last-index-of (:: system separator) file)
+  (case (text.last-index-of (\ system separator) file)
     #.None
     #.None
     
     (#.Some last-separator)
     (let [[parent temp] (maybe.assume (text.split last-separator file))
-          [_ child] (maybe.assume (text.split (text.size (:: system separator)) temp))]
+          [_ child] (maybe.assume (text.split (text.size (\ system separator)) temp))]
       (#.Some [parent child]))))
 
 (def: #export (nest system [parent child])
   (All [!] (-> (System !) [Path Text] Path))
-  (format parent (:: system separator) child))
+  (format parent (\ system separator) child))
 
 (template []
   [(exception: #export ( {file Path})
@@ -307,7 +307,7 @@
                                                  _ (java/lang/AutoCloseable::close stream)]
                                                 (if (i.= size bytes-read)
                                                   (wrap data)
-                                                  (:: io.monad wrap (exception.throw ..cannot-read-all-data path)))))))
+                                                  (\ io.monad wrap (exception.throw ..cannot-read-all-data path)))))))
 
                                          (def: name
                                            (..can-see
@@ -327,7 +327,7 @@
                                               (|> path
                                                   java/io/File::new
                                                   java/io/File::length
-                                                  (:: (try.with io.monad) map .nat)))))
+                                                  (\ (try.with io.monad) map .nat)))))
 
                                          (def: last-modified
                                            (..can-query
@@ -335,7 +335,7 @@
                                               (|> path
                                                   java/io/File::new
                                                   (java/io/File::lastModified)
-                                                  (:: (try.with io.monad) map (|>> duration.from-millis instant.absolute))))))
+                                                  (\ (try.with io.monad) map (|>> duration.from-millis instant.absolute))))))
 
                                          (def: can-execute?
                                            (..can-query
@@ -394,11 +394,11 @@
                                                          (|> children
                                                              array.to-list
                                                              (monad.filter ! (|>> ))
-                                                             (:: ! map (monad.map ! (|>> java/io/File::getAbsolutePath (:: ! map ))))
-                                                             (:: ! join))
+                                                             (\ ! map (monad.map ! (|>> java/io/File::getAbsolutePath (\ ! map ))))
+                                                             (\ ! join))
 
                                                          #.None
-                                                         (:: io.monad wrap (exception.throw ..not-a-directory [path])))))))]
+                                                         (\ io.monad wrap (exception.throw ..not-a-directory [path])))))))]
 
                                                [files       java/io/File::isFile      file]
                                                [directories java/io/File::isDirectory directory]
@@ -633,7 +633,7 @@
                                     verdict ( [] stats)]
                                    (if verdict
                                      (wrap ( path))
-                                     (:: io.monad wrap (exception.throw  [path])))))))]
+                                     (\ io.monad wrap (exception.throw  [path])))))))]
 
                            [file             Stats::isFile        ..file      ..cannot-find-file]
                            [directory        Stats::isDirectory   ..directory ..cannot-find-directory]
@@ -671,14 +671,14 @@
   [(def: #export ( monad system path)
      (All [!] (-> (Monad !) (System !) Path (! (Try ( !)))))
      (do monad
-       [outcome (!.use (:: system ) path)]
+       [outcome (!.use (\ system ) path)]
        (case outcome
          (#try.Success file)
          (wrap (#try.Success file))
          
          (#try.Failure error)
          (if (exception.match?  error)
-           (!.use (:: system ) path)
+           (!.use (\ system ) path)
            (wrap (#try.Failure error))))))]
 
   [get-file      File      create-file      file      ..cannot-find-file]
@@ -689,7 +689,7 @@
   [(def: #export ( monad system path)
      (All [!] (-> (Monad !) (System !) Path (! Bit)))
      (do monad
-       [?file (!.use (:: system ) path)]
+       [?file (!.use (\ system ) path)]
        (case ?file
          (#try.Success file)
          (wrap true)
@@ -915,9 +915,9 @@
                             (do try.monad
                               [[name file] (..retrieve-mock-file! separator path |store|)]
                               (..update-mock-file! separator path now
-                                                   (:: binary.monoid compose
-                                                       (get@ #mock-content file)
-                                                       content)
+                                                   (\ binary.monoid compose
+                                                      (get@ #mock-content file)
+                                                      content)
                                                    |store|)))
                           store))))))
 
@@ -1164,9 +1164,9 @@
 
 (def: #export (make-directories monad system path)
   (All [!] (-> (Monad !) (System !) Path (! (Try Path))))
-  (case (text.split-all-with (:: system separator) path)
+  (case (text.split-all-with (\ system separator) path)
     #.Nil
-    (:: monad wrap (exception.throw ..cannot-create-directory [path]))
+    (\ monad wrap (exception.throw ..cannot-create-directory [path]))
 
     (#.Cons head tail)
     (loop [current head
@@ -1178,5 +1178,5 @@
           (wrap current)
           
           (#.Cons head tail)
-          (recur (format current (:: system separator) head)
+          (recur (format current (\ system separator) head)
                  tail))))))
diff --git a/stdlib/source/lux/world/file/watch.lux b/stdlib/source/lux/world/file/watch.lux
index 596163bb1..a1bb5a6de 100644
--- a/stdlib/source/lux/world/file/watch.lux
+++ b/stdlib/source/lux/world/file/watch.lux
@@ -116,12 +116,12 @@
 (def: (file-tracker fs directory)
   (-> (//.System Promise) (//.Directory Promise) (Promise (Try File-Tracker)))
   (do {! (try.with promise.monad)}
-    [files (!.use (:: directory files) [])]
+    [files (!.use (\ directory files) [])]
     (monad.fold !
                 (function (_ file tracker)
                   (do !
-                    [last-modified (!.use (:: file last-modified) [])]
-                    (wrap (dictionary.put (!.use (:: file path) [])
+                    [last-modified (!.use (\ file last-modified) [])]
+                    (wrap (dictionary.put (!.use (\ file path) [])
                                           [file last-modified]
                                           tracker))))
                 (: File-Tracker
@@ -131,11 +131,11 @@
 (def: (poll-files directory file-tracker)
   (-> (//.Directory Promise) File-Tracker (Promise (Try (List [//.Path (//.File Promise) Instant]))))
   (do {! (try.with promise.monad)}
-    [files (!.use (:: directory files) [])]
+    [files (!.use (\ directory files) [])]
     (monad.map ! (function (_ file)
                    (do !
-                     [last-modified (!.use (:: file last-modified) [])]
-                     (wrap [(!.use (:: file path) []) file last-modified])))
+                     [last-modified (!.use (\ file last-modified) [])]
+                     (wrap [(!.use (\ file path) []) file last-modified])))
                files)))
 
 (def: (poll-directory-changes [path [concern directory file-tracker]])
@@ -195,7 +195,7 @@
          (if updated?
            (wrap (#try.Success []))
            (do (try.with !)
-             [directory (!.use (:: fs directory) path)
+             [directory (!.use (\ fs directory) path)
               file-tracker (..file-tracker fs directory)]
              (do !
                [_ (stm.commit (stm.update (dictionary.put path [new-concern directory file-tracker]) tracker))]
@@ -330,9 +330,9 @@
                                (def: default\\key-concern
                                  (-> java/nio/file/WatchKey (IO Concern))
                                  (|>> java/nio/file/WatchKey::pollEvents
-                                      (:: io.monad map (|>> ..default\\list
-                                                            (list\map default\\event-concern)
-                                                            (list\fold ..also ..none)))))
+                                      (\ io.monad map (|>> ..default\\list
+                                                           (list\map default\\event-concern)
+                                                           (list\fold ..also ..none)))))
 
                                (import: java/nio/file/WatchService
                                  ["#::."
diff --git a/stdlib/source/lux/world/net/http/query.lux b/stdlib/source/lux/world/net/http/query.lux
index 315872b00..006942bfe 100644
--- a/stdlib/source/lux/world/net/http/query.lux
+++ b/stdlib/source/lux/world/net/http/query.lux
@@ -34,7 +34,7 @@
              [_ (l.this "%")
               code (|> (l.exactly 2 l.hexadecimal)
                        (p.codec nat.hex)
-                       (:: ! map text.from-code))
+                       (\ ! map text.from-code))
               tail component]
              (wrap (format head code tail))))))))
 
@@ -57,7 +57,7 @@
                            l.end)]
                     (form (dictionary.put key "" context)))))
       ## if invalid form data, just stop parsing...
-      (:: p.monad wrap context)))
+      (\ p.monad wrap context)))
 
 (def: #export (parameters raw)
   (-> Text (Try Context))
diff --git a/stdlib/source/lux/world/net/http/request.lux b/stdlib/source/lux/world/net/http/request.lux
index 21f2ee071..094f7ff97 100644
--- a/stdlib/source/lux/world/net/http/request.lux
+++ b/stdlib/source/lux/world/net/http/request.lux
@@ -34,8 +34,8 @@
                     (monad.fold try.monad
                                 (function (_ input [offset output])
                                   (let [amount (binary.size input)]
-                                    (:: try.functor map (|>> [(n.+ amount offset)])
-                                        (binary.copy amount 0 input offset output))))
+                                    (\ try.functor map (|>> [(n.+ amount offset)])
+                                       (binary.copy amount 0 input offset output))))
                                 [0 (|> inputs
                                        (list\map binary.size)
                                        (list\fold n.+ 0)
@@ -58,7 +58,7 @@
       [?raw (read-text-body (get@ #//.body message))]
       (case (do try.monad
               [raw ?raw
-               content (:: json.codec decode raw)]
+               content (\ json.codec decode raw)]
               (json.run content reader))
         (#try.Success input)
         (server input request)
diff --git a/stdlib/source/lux/world/shell.lux b/stdlib/source/lux/world/shell.lux
index 114f79ea0..142fb54e4 100644
--- a/stdlib/source/lux/world/shell.lux
+++ b/stdlib/source/lux/world/shell.lux
@@ -71,7 +71,7 @@
        (~~ (template [ ]
              [(def: 
                 (
-                 (|>> (!.use (:: process ))
+                 (|>> (!.use (\ process ))
                       promise.future)))]
 
              [read ..can-read]
@@ -102,7 +102,7 @@
       (function (_ input)
         (promise.future
          (do (try.with io.monad)
-           [process (!.use (:: shell execute) input)]
+           [process (!.use (\ shell execute) input)]
            (wrap (..async-process process)))))))))
 
 (signature: (Policy ?)
@@ -292,16 +292,16 @@
 ## https://en.wikipedia.org/wiki/Code_injection#Shell_injection
 (def: windows?
   (IO (Try Bit))
-  (:: (try.with io.monad) map
-      (|>> java/lang/String::toLowerCase (text.starts-with? "windows"))
-      (java/lang/System::getProperty "os.name")))
+  (\ (try.with io.monad) map
+     (|>> java/lang/String::toLowerCase (text.starts-with? "windows"))
+     (java/lang/System::getProperty "os.name")))
 
 (def: (jvm::process-builder policy command arguments)
   (All [?]
     (-> (Policy ?) (Safe Command ?) (List (Safe Argument ?))
         java/lang/ProcessBuilder))
-  (|> (list\map (:: policy value) arguments)
-      (list& (:: policy value command))
+  (|> (list\map (\ policy value) arguments)
+      (list& (\ policy value command))
       ..jvm::arguments-array
       java/lang/ProcessBuilder::new))
 
@@ -315,16 +315,16 @@
                                         [windows? ..windows?
                                          #let [builder (if windows?
                                                          (..jvm::process-builder ..windows-policy
-                                                                                 (:: ..windows-policy command command)
-                                                                                 (list\map (:: ..windows-policy argument) arguments))
+                                                                                 (\ ..windows-policy command command)
+                                                                                 (list\map (\ ..windows-policy argument) arguments))
                                                          (..jvm::process-builder ..unix-policy
-                                                                                 (:: ..unix-policy command command)
-                                                                                 (list\map (:: ..unix-policy argument) arguments)))]
+                                                                                 (\ ..unix-policy command command)
+                                                                                 (list\map (\ ..unix-policy argument) arguments)))]
                                          _ (|> builder
                                                (java/lang/ProcessBuilder::directory (java/io/File::new working-directory))
                                                java/lang/ProcessBuilder::environment
-                                               (:: try.functor map (..jvm::load-environment environment))
-                                               (:: io.monad wrap))
+                                               (\ try.functor map (..jvm::load-environment environment))
+                                               (\ io.monad wrap))
                                          process (java/lang/ProcessBuilder::start builder)]
                                         (..default-process process)))]
          (for {@.old (as-is )
@@ -352,7 +352,7 @@
                   (stm.commit
                    (do {! stm.monad}
                      [|state| (stm.read state)]
-                     (case (:: simulation  |state|)
+                     (case (\ simulation  |state|)
                        (#try.Success [|state| output])
                        (do !
                          [_ (stm.write |state| state)]
@@ -371,7 +371,7 @@
            (stm.commit
             (do {! stm.monad}
               [|state| (stm.read state)]
-              (case (:: simulation on-write message |state|)
+              (case (\ simulation on-write message |state|)
                 (#try.Success |state|)
                 (do !
                   [_ (stm.write |state| state)]
@@ -385,7 +385,7 @@
            (stm.commit
             (do {! stm.monad}
               [|state| (stm.read state)]
-              (case (:: simulation on-destroy |state|)
+              (case (\ simulation on-destroy |state|)
                 (#try.Success |state|)
                 (do !
                   [_ (stm.write |state| state)]
diff --git a/stdlib/source/poly/lux/abstract/equivalence.lux b/stdlib/source/poly/lux/abstract/equivalence.lux
index 0f5db0309..f8d8d1fa8 100644
--- a/stdlib/source/poly/lux/abstract/equivalence.lux
+++ b/stdlib/source/poly/lux/abstract/equivalence.lux
@@ -163,6 +163,6 @@
             .recursive-call
             ## If all else fails...
             (|> .any
-                (:: ! map (|>> %.type (format "Cannot create Equivalence for: ") p.fail))
-                (:: ! join))
+                (\ ! map (|>> %.type (format "Cannot create Equivalence for: ") p.fail))
+                (\ ! join))
             ))))
diff --git a/stdlib/source/poly/lux/data/format/json.lux b/stdlib/source/poly/lux/data/format/json.lux
index 719817b3b..3cba2eb3b 100644
--- a/stdlib/source/poly/lux/data/format/json.lux
+++ b/stdlib/source/poly/lux/data/format/json.lux
@@ -73,9 +73,9 @@
 (structure: int-codec
   (codec.Codec JSON Int)
   
-  (def: encode (|>> .nat (:: nat-codec encode)))
+  (def: encode (|>> .nat (\ nat-codec encode)))
   (def: decode
-    (|>> (:: nat-codec decode) (:: try.functor map .int))))
+    (|>> (\ nat-codec decode) (\ try.functor map .int))))
 
 (def: (nullable writer)
   {#.doc "Builds a JSON generator for potentially inexistent values."}
@@ -90,9 +90,9 @@
     (codec.Codec JSON (unit.Qty unit)))
   
   (def: encode
-    (|>> unit.out (:: ..int-codec encode)))
+    (|>> unit.out (\ ..int-codec encode)))
   (def: decode
-    (|>> (:: ..int-codec decode) (:: try.functor map unit.in))))
+    (|>> (\ ..int-codec decode) (\ try.functor map unit.in))))
 
 (poly: encode
   (with-expansions
@@ -105,15 +105,15 @@
 
                [(.exactly Any) (function ((~ g!_) (~ (code.identifier ["" "0"]))) #/.Null)]
                [(.sub Bit)     (|>> #/.Boolean)]
-               [(.sub Nat)     (:: (~! ..nat-codec) (~' encode))]
-               [(.sub Int)     (:: (~! ..int-codec) (~' encode))]
+               [(.sub Nat)     (\ (~! ..nat-codec) (~' encode))]
+               [(.sub Int)     (\ (~! ..int-codec) (~' encode))]
                [(.sub Frac)    (|>> #/.Number)]
                [(.sub Text)    (|>> #/.String)])