From fdfd7036806fe62ffaf054b61fbf16bbfb002b7c Mon Sep 17 00:00:00 2001
From: Eduardo Julian
Date: Wed, 11 Jul 2018 19:47:40 -0400
Subject: - Improvements to import syntax [part 2].
---
stdlib/source/lux.lux | 198 ++++---------
stdlib/source/lux/cli.lux | 24 +-
stdlib/source/lux/concurrency/actor.lux | 43 +--
stdlib/source/lux/concurrency/atom.lux | 6 +-
stdlib/source/lux/concurrency/frp.lux | 20 +-
stdlib/source/lux/concurrency/promise.lux | 19 +-
stdlib/source/lux/concurrency/semaphore.lux | 16 +-
stdlib/source/lux/concurrency/stm.lux | 27 +-
stdlib/source/lux/concurrency/task.lux | 20 +-
stdlib/source/lux/control/algebra.lux | 5 +-
stdlib/source/lux/control/apply.lux | 5 +-
stdlib/source/lux/control/codec.lux | 6 +-
stdlib/source/lux/control/comonad.lux | 9 +-
stdlib/source/lux/control/concatenative.lux | 39 +--
stdlib/source/lux/control/continuation.lux | 17 +-
stdlib/source/lux/control/contract.lux | 13 +-
stdlib/source/lux/control/enum.lux | 6 +-
stdlib/source/lux/control/exception.lux | 32 ++-
stdlib/source/lux/control/hash.lux | 2 +-
stdlib/source/lux/control/interval.lux | 9 +-
stdlib/source/lux/control/monad.lux | 2 +-
stdlib/source/lux/control/monad/free.lux | 7 +-
stdlib/source/lux/control/monad/indexed.lux | 15 +-
stdlib/source/lux/control/monoid.lux | 5 +-
stdlib/source/lux/control/order.lux | 6 +-
stdlib/source/lux/control/parser.lux | 18 +-
stdlib/source/lux/control/pipe.lux | 20 +-
stdlib/source/lux/control/predicate.lux | 8 +-
stdlib/source/lux/control/reader.lux | 9 +-
stdlib/source/lux/control/region.lux | 18 +-
stdlib/source/lux/control/state.lux | 9 +-
stdlib/source/lux/control/thread.lux | 11 +-
stdlib/source/lux/control/writer.lux | 11 +-
stdlib/source/lux/data/bool.lux | 13 +-
stdlib/source/lux/data/collection/array.lux | 18 +-
stdlib/source/lux/data/collection/bits.lux | 16 +-
stdlib/source/lux/data/collection/dictionary.lux | 23 +-
.../lux/data/collection/dictionary/ordered.lux | 22 +-
.../lux/data/collection/dictionary/plist.lux | 5 +-
stdlib/source/lux/data/collection/list.lux | 22 +-
stdlib/source/lux/data/collection/queue.lux | 9 +-
.../source/lux/data/collection/queue/priority.lux | 14 +-
stdlib/source/lux/data/collection/row.lux | 37 +--
stdlib/source/lux/data/collection/sequence.lux | 24 +-
stdlib/source/lux/data/collection/set.lux | 15 +-
stdlib/source/lux/data/collection/set/multi.lux | 20 +-
stdlib/source/lux/data/collection/set/ordered.lux | 15 +-
stdlib/source/lux/data/collection/stack.lux | 6 +-
stdlib/source/lux/data/collection/tree/finger.lux | 6 +-
stdlib/source/lux/data/collection/tree/rose.lux | 21 +-
.../lux/data/collection/tree/rose/parser.lux | 14 +-
.../lux/data/collection/tree/rose/zipper.lux | 23 +-
stdlib/source/lux/data/color.lux | 10 +-
stdlib/source/lux/data/env.lux | 6 +-
stdlib/source/lux/data/error.lux | 9 +-
stdlib/source/lux/data/format/binary.lux | 23 +-
stdlib/source/lux/data/format/context.lux | 14 +-
stdlib/source/lux/data/format/css.lux | 13 +-
stdlib/source/lux/data/format/html.lux | 9 +-
stdlib/source/lux/data/format/json.lux | 41 +--
stdlib/source/lux/data/format/xml.lux | 31 ++-
stdlib/source/lux/data/ident.lux | 11 +-
stdlib/source/lux/data/identity.lux | 11 +-
stdlib/source/lux/data/lazy.lux | 19 +-
stdlib/source/lux/data/maybe.lux | 13 +-
stdlib/source/lux/data/number.lux | 26 +-
stdlib/source/lux/data/number/complex.lux | 30 +-
stdlib/source/lux/data/number/ratio.lux | 36 +--
stdlib/source/lux/data/store.lux | 9 +-
stdlib/source/lux/data/tainted.lux | 8 +-
stdlib/source/lux/data/text.lux | 20 +-
stdlib/source/lux/data/text/buffer.lux | 17 +-
stdlib/source/lux/data/text/encoding.lux | 10 +-
stdlib/source/lux/data/text/format.lux | 42 +--
stdlib/source/lux/data/text/lexer.lux | 20 +-
stdlib/source/lux/data/text/regex.lux | 30 +-
stdlib/source/lux/data/text/unicode.lux | 17 +-
stdlib/source/lux/data/trace.lux | 11 +-
stdlib/source/lux/function.lux | 4 +-
stdlib/source/lux/host.js.lux | 17 +-
stdlib/source/lux/host.jvm.lux | 38 +--
stdlib/source/lux/io.lux | 16 +-
stdlib/source/lux/language/compiler.lux | 22 +-
stdlib/source/lux/language/compiler/analysis.lux | 13 +-
.../source/lux/language/compiler/analysis/case.lux | 30 +-
.../language/compiler/analysis/case/coverage.lux | 25 +-
.../lux/language/compiler/analysis/expression.lux | 24 +-
.../lux/language/compiler/analysis/function.lux | 27 +-
.../lux/language/compiler/analysis/inference.lux | 22 +-
.../lux/language/compiler/analysis/primitive.lux | 10 +-
.../lux/language/compiler/analysis/reference.lux | 18 +-
.../lux/language/compiler/analysis/structure.lux | 31 ++-
.../source/lux/language/compiler/analysis/type.lux | 10 +-
.../source/lux/language/compiler/default/cache.lux | 4 +-
.../lux/language/compiler/default/repl/type.lux | 41 +--
stdlib/source/lux/language/compiler/extension.lux | 14 +-
.../lux/language/compiler/extension/analysis.lux | 10 +-
.../compiler/extension/analysis/common.lux | 38 +--
.../compiler/extension/analysis/host.jvm.lux | 52 ++--
.../lux/language/compiler/extension/bundle.lux | 17 +-
.../lux/language/compiler/extension/synthesis.lux | 7 +-
.../language/compiler/extension/translation.lux | 7 +-
.../source/lux/language/compiler/meta/archive.lux | 26 +-
stdlib/source/lux/language/compiler/meta/cache.lux | 33 ++-
.../language/compiler/meta/cache/dependency.lux | 10 +-
stdlib/source/lux/language/compiler/meta/io.lux | 21 +-
.../lux/language/compiler/meta/io/archive.lux | 19 +-
.../lux/language/compiler/meta/io/context.lux | 20 +-
stdlib/source/lux/language/compiler/synthesis.lux | 9 +-
.../lux/language/compiler/synthesis/case.lux | 22 +-
.../lux/language/compiler/synthesis/expression.lux | 15 +-
.../lux/language/compiler/synthesis/function.lux | 21 +-
.../lux/language/compiler/synthesis/loop.lux | 17 +-
.../source/lux/language/compiler/translation.lux | 23 +-
.../compiler/translation/scheme/case.jvm.lux | 28 +-
.../compiler/translation/scheme/expression.jvm.lux | 11 +-
.../compiler/translation/scheme/extension.jvm.lux | 24 +-
.../translation/scheme/extension/common.jvm.lux | 38 +--
.../compiler/translation/scheme/function.jvm.lux | 28 +-
.../compiler/translation/scheme/loop.jvm.lux | 24 +-
.../compiler/translation/scheme/primitive.jvm.lux | 5 +-
.../compiler/translation/scheme/reference.jvm.lux | 22 +-
.../compiler/translation/scheme/runtime.jvm.lux | 33 ++-
.../compiler/translation/scheme/structure.jvm.lux | 14 +-
stdlib/source/lux/language/host/scheme.lux | 17 +-
stdlib/source/lux/language/module.lux | 27 +-
stdlib/source/lux/language/name.lux | 9 +-
stdlib/source/lux/language/reference.lux | 9 +-
stdlib/source/lux/language/scope.lux | 23 +-
stdlib/source/lux/language/syntax.lux | 29 +-
stdlib/source/lux/language/type.lux | 28 +-
stdlib/source/lux/language/type/check.lux | 31 ++-
stdlib/source/lux/macro.lux | 26 +-
stdlib/source/lux/macro/code.lux | 17 +-
stdlib/source/lux/macro/poly.lux | 54 ++--
stdlib/source/lux/macro/poly/equivalence.lux | 60 ++--
stdlib/source/lux/macro/poly/functor.lux | 32 ++-
stdlib/source/lux/macro/poly/json.lux | 62 +++--
stdlib/source/lux/macro/syntax.lux | 28 +-
stdlib/source/lux/macro/syntax/common/reader.lux | 20 +-
stdlib/source/lux/macro/syntax/common/writer.lux | 9 +-
stdlib/source/lux/math.lux | 20 +-
stdlib/source/lux/math/logic/continuous.lux | 4 +-
stdlib/source/lux/math/logic/fuzzy.lux | 16 +-
stdlib/source/lux/math/modular.lux | 29 +-
stdlib/source/lux/math/random.lux | 49 ++--
stdlib/source/lux/test.lux | 37 +--
stdlib/source/lux/time/date.lux | 28 +-
stdlib/source/lux/time/duration.lux | 26 +-
stdlib/source/lux/time/instant.lux | 40 +--
stdlib/source/lux/type/abstract.lux | 30 +-
stdlib/source/lux/type/implicit.lux | 38 +--
stdlib/source/lux/type/object/interface.lux | 39 +--
stdlib/source/lux/type/object/protocol.lux | 26 +-
stdlib/source/lux/type/quotient.lux | 19 +-
stdlib/source/lux/type/refinement.lux | 21 +-
stdlib/source/lux/type/resource.lux | 41 +--
stdlib/source/lux/type/unit.lux | 37 ++-
stdlib/source/lux/world/blob.jvm.lux | 20 +-
stdlib/source/lux/world/console.lux | 20 +-
stdlib/source/lux/world/environment.jvm.lux | 13 +-
stdlib/source/lux/world/file.lux | 29 +-
stdlib/source/lux/world/net/tcp.jvm.lux | 22 +-
stdlib/source/lux/world/net/udp.jvm.lux | 27 +-
stdlib/test/test/lux.lux | 24 +-
stdlib/test/test/lux/cli.lux | 30 +-
stdlib/test/test/lux/concurrency/actor.lux | 24 +-
stdlib/test/test/lux/concurrency/atom.lux | 20 +-
stdlib/test/test/lux/concurrency/frp.lux | 23 +-
stdlib/test/test/lux/concurrency/promise.lux | 21 +-
stdlib/test/test/lux/concurrency/semaphore.lux | 26 +-
stdlib/test/test/lux/concurrency/stm.lux | 29 +-
stdlib/test/test/lux/control/continuation.lux | 14 +-
stdlib/test/test/lux/control/equivalence.lux | 12 +-
stdlib/test/test/lux/control/exception.lux | 21 +-
stdlib/test/test/lux/control/interval.lux | 25 +-
stdlib/test/test/lux/control/parser.lux | 23 +-
stdlib/test/test/lux/control/pipe.lux | 23 +-
stdlib/test/test/lux/control/reader.lux | 11 +-
stdlib/test/test/lux/control/region.lux | 22 +-
stdlib/test/test/lux/control/state.lux | 17 +-
stdlib/test/test/lux/control/thread.lux | 7 +-
stdlib/test/test/lux/control/writer.lux | 18 +-
stdlib/test/test/lux/data/bit.lux | 15 +-
stdlib/test/test/lux/data/bool.lux | 13 +-
stdlib/test/test/lux/data/collection/array.lux | 22 +-
stdlib/test/test/lux/data/collection/bits.lux | 16 +-
.../test/test/lux/data/collection/dictionary.lux | 25 +-
.../lux/data/collection/dictionary/ordered.lux | 26 +-
stdlib/test/test/lux/data/collection/list.lux | 23 +-
stdlib/test/test/lux/data/collection/queue.lux | 16 +-
.../test/lux/data/collection/queue/priority.lux | 17 +-
stdlib/test/test/lux/data/collection/row.lux | 19 +-
stdlib/test/test/lux/data/collection/sequence.lux | 25 +-
stdlib/test/test/lux/data/collection/set.lux | 17 +-
.../test/test/lux/data/collection/set/ordered.lux | 23 +-
stdlib/test/test/lux/data/collection/stack.lux | 13 +-
stdlib/test/test/lux/data/collection/tree/rose.lux | 24 +-
.../test/lux/data/collection/tree/rose/zipper.lux | 29 +-
stdlib/test/test/lux/data/color.lux | 16 +-
stdlib/test/test/lux/data/error.lux | 15 +-
stdlib/test/test/lux/data/format/json.lux | 74 ++---
stdlib/test/test/lux/data/format/xml.lux | 36 +--
stdlib/test/test/lux/data/ident.lux | 18 +-
stdlib/test/test/lux/data/identity.lux | 14 +-
stdlib/test/test/lux/data/lazy.lux | 13 +-
stdlib/test/test/lux/data/maybe.lux | 16 +-
stdlib/test/test/lux/data/number.lux | 19 +-
stdlib/test/test/lux/data/number/complex.lux | 26 +-
stdlib/test/test/lux/data/number/ratio.lux | 15 +-
stdlib/test/test/lux/data/product.lux | 5 +-
stdlib/test/test/lux/data/sum.lux | 13 +-
stdlib/test/test/lux/data/text.lux | 22 +-
stdlib/test/test/lux/data/text/format.lux | 14 +-
stdlib/test/test/lux/data/text/lexer.lux | 26 +-
stdlib/test/test/lux/data/text/regex.lux | 31 ++-
stdlib/test/test/lux/host.js.lux | 9 +-
stdlib/test/test/lux/host.jvm.lux | 22 +-
stdlib/test/test/lux/io.lux | 14 +-
.../test/lux/language/compiler/analysis/case.lux | 49 ++--
.../lux/language/compiler/analysis/function.lux | 55 ++--
.../lux/language/compiler/analysis/primitive.lux | 38 +--
.../compiler/analysis/procedure/common.lux | 45 +--
.../compiler/analysis/procedure/host.jvm.lux | 56 ++--
.../lux/language/compiler/analysis/reference.lux | 47 ++--
.../lux/language/compiler/analysis/structure.lux | 58 ++--
stdlib/test/test/lux/language/syntax.lux | 32 ++-
stdlib/test/test/lux/language/type.lux | 24 +-
stdlib/test/test/lux/language/type/check.lux | 33 ++-
stdlib/test/test/lux/macro/code.lux | 18 +-
stdlib/test/test/lux/macro/poly/equivalence.lux | 31 ++-
stdlib/test/test/lux/macro/poly/functor.lux | 13 +-
stdlib/test/test/lux/macro/syntax.lux | 33 ++-
stdlib/test/test/lux/math.lux | 16 +-
stdlib/test/test/lux/math/logic/continuous.lux | 13 +-
stdlib/test/test/lux/math/logic/fuzzy.lux | 28 +-
stdlib/test/test/lux/math/modular.lux | 22 +-
stdlib/test/test/lux/math/random.lux | 29 +-
stdlib/test/test/lux/time/date.lux | 22 +-
stdlib/test/test/lux/time/duration.lux | 16 +-
stdlib/test/test/lux/time/instant.lux | 29 +-
stdlib/test/test/lux/type/implicit.lux | 23 +-
stdlib/test/test/lux/type/object/interface.lux | 10 +-
stdlib/test/test/lux/type/object/protocol.lux | 10 +-
stdlib/test/test/lux/type/resource.lux | 13 +-
stdlib/test/test/lux/world/blob.lux | 29 +-
stdlib/test/test/lux/world/file.lux | 35 ++-
stdlib/test/test/lux/world/net/tcp.lux | 36 ++-
stdlib/test/test/lux/world/net/udp.lux | 36 ++-
stdlib/test/tests.lux | 306 ++++++++++++---------
250 files changed, 3248 insertions(+), 2624 deletions(-)
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index 6d1f9e106..6e9604376 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -431,6 +431,11 @@
([_ ident] (_ann (#Symbol ident))))
[dummy-cursor (#Record #Nil)])
+("lux def" local-symbol$
+ ("lux check" (#Function Text Code)
+ ([_ ident] (_ann (#Symbol ["" ident]))))
+ [dummy-cursor (#Record #Nil)])
+
("lux def" tag$
("lux check" (#Function Ident Code)
([_ ident] (_ann (#Tag ident))))
@@ -4079,39 +4084,6 @@
(fail "only/exclude requires symbols."))))
defs))
-(def: (parse-alias tokens)
- (-> (List Code) (Meta [(Maybe Text) (List Code)]))
- (case tokens
- (^ (list& [_ (#Tag "" "as")] [_ (#Symbol "" alias)] tokens'))
- (return [(#Some alias) tokens'])
-
- _
- (return [#None tokens])))
-
-(def: (parse-referrals tokens)
- (-> (List Code) (Meta [Referrals (List Code)]))
- (case tokens
- (^ (list& [_ (#Tag ["" "refer"])] referral tokens'))
- (case referral
- [_ (#Tag "" "all")]
- (return [#All tokens'])
-
- (^ [_ (#Form (list& [_ (#Tag ["" "only"])] defs))])
- (do Monad
- [defs' (extract-defs defs)]
- (return [(#Only defs') tokens']))
-
- (^ [_ (#Form (list& [_ (#Tag ["" "exclude"])] defs))])
- (do Monad
- [defs' (extract-defs defs)]
- (return [(#Exclude defs') tokens']))
-
- _
- (fail "Incorrect syntax for referral."))
-
- _
- (return [#Nothing tokens])))
-
(def: (parse-short-referrals tokens)
(-> (List Code) (Meta [Referrals (List Code)]))
(case tokens
@@ -4134,53 +4106,6 @@
_
(return [#Nothing tokens])))
-(def: (extract-symbol syntax)
- (-> Code (Meta Ident))
- (case syntax
- [_ (#Symbol ident)]
- (return ident)
-
- _
- (fail "Not a symbol.")))
-
-(def: (parse-openings tokens)
- (-> (List Code) (Meta [(List Openings) (List Code)]))
- (case tokens
- (^ (list& [_ (#Tag "" "open")] [_ (#Form parts)] tokens'))
- (if (|> parts
- (list/map (: (-> Code Bool)
- (function (_ part)
- (case part
- (^or [_ (#Text _)] [_ (#Symbol _)])
- true
-
- _
- false))))
- (list/fold (function (_ r l) (and l r)) true))
- (let [openings (list/fold (: (-> Code (List Openings) (List Openings))
- (function (_ part openings)
- (case part
- [_ (#Text prefix)]
- (list& [prefix (list)] openings)
-
- [_ (#Symbol ["" struct-name])]
- (case openings
- #Nil
- (list ["" (list struct-name)])
-
- (#Cons [prefix structs] openings')
- (#Cons [prefix (#Cons struct-name structs)] openings'))
-
- _
- openings)))
- (: (List Openings) (list))
- parts)]
- (return [openings tokens']))
- (fail "Expected all parts of opening form to be of either prefix (text) or struct (symbol)."))
-
- _
- (return [(list) tokens])))
-
(def: (parse-short-openings parts)
(-> (List Code) (Meta [(List Openings) (List Code)]))
(case parts
@@ -4275,54 +4200,53 @@
(: (-> Code (Meta (List Importation)))
(function (_ token)
(case token
- [_ (#Symbol "" m-name)]
+ [_ (#Symbol ["" m-name])]
(do Monad
[m-name (clean-module relative-root m-name)]
- (wrap (list [m-name #None {#refer-defs #All
- #refer-open (list)}])))
+ (wrap (list {#import-name m-name
+ #import-alias #None
+ #import-refer {#refer-defs #All
+ #refer-open (list)}})))
- (^ [_ (#Form (list& [_ (#Symbol "" m-name)] extra))])
+ (^ [_ (#Tuple (list [_ (#Symbol ["" m-name])]))])
(do Monad
- [m-name (clean-module relative-root m-name)
- alias+extra (parse-alias extra)
- #let [[alias extra] alias+extra]
- referral+extra (parse-referrals extra)
- #let [[referral extra] referral+extra]
- openings+extra (parse-openings extra)
- #let [[openings extra] openings+extra]
- sub-imports (parse-imports relative-root extra)
- #let [sub-imports (decorate-sub-importations m-name sub-imports)]]
- (wrap (case [referral alias openings]
- [#Nothing #None #Nil] sub-imports
- _ (list& {#import-name m-name
- #import-alias alias
- #import-refer {#refer-defs referral
- #refer-open openings}}
- sub-imports))))
-
- (^ [_ (#Tuple (list& [_ (#Text alias)] [_ (#Symbol "" m-name)] extra))])
+ [import-name (clean-module relative-root m-name)]
+ (wrap (list {#import-name import-name
+ #import-alias (#Some m-name)
+ #import-refer {#refer-defs #Nothing
+ #refer-open (list)}})))
+
+ (^ [_ (#Tuple (list& [_ (#Text alias)] [_ (#Symbol ["" m-name])] extra))])
(do Monad
- [m-name (clean-module relative-root m-name)
+ [import-name (clean-module relative-root m-name)
referral+extra (parse-short-referrals extra)
#let [[referral extra] referral+extra]
openings+extra (parse-short-openings extra)
- #let [[openings extra] openings+extra]]
- (wrap (list {#import-name m-name
- #import-alias (#Some (replace-all "." m-name alias))
- #import-refer {#refer-defs referral
- #refer-open openings}})))
-
- (^ [_ (#Tuple (list& [_ (#Symbol "" raw-m-name)] extra))])
+ #let [[openings extra] openings+extra]
+ sub-imports (parse-imports relative-root extra)
+ #let [sub-imports (decorate-sub-importations import-name sub-imports)]]
+ (wrap (list& {#import-name import-name
+ #import-alias (#Some (replace-all "." m-name alias))
+ #import-refer {#refer-defs referral
+ #refer-open openings}}
+ sub-imports)))
+
+ (^ [_ (#Tuple (list& [_ (#Symbol ["" m-name])] extra))])
(do Monad
- [m-name (clean-module relative-root raw-m-name)
+ [import-name (clean-module relative-root m-name)
referral+extra (parse-short-referrals extra)
#let [[referral extra] referral+extra]
openings+extra (parse-short-openings extra)
- #let [[openings extra] openings+extra]]
- (wrap (list {#import-name m-name
- #import-alias (#Some raw-m-name)
- #import-refer {#refer-defs referral
- #refer-open openings}})))
+ #let [[openings extra] openings+extra]
+ sub-imports (parse-imports relative-root extra)
+ #let [sub-imports (decorate-sub-importations import-name sub-imports)]]
+ (wrap (case [referral openings]
+ [#Nothing #Nil] sub-imports
+ _ (list& {#import-name import-name
+ #import-alias (#Some m-name)
+ #import-refer {#refer-defs referral
+ #refer-open openings}}
+ sub-imports))))
_
(do Monad
@@ -4804,9 +4728,9 @@
(def: (read-refer module-name options)
(-> Text (List Code) (Meta Refer))
(do Monad
- [referral+options (parse-referrals options)
+ [referral+options (parse-short-referrals options)
#let [[referral options] referral+options]
- openings+options (parse-openings options)
+ openings+options (parse-short-openings options)
#let [[openings options] openings+options]
current-module current-module-name
#let [test-referrals (: (-> Text (List Text) (List Text) (Meta (List Any)))
@@ -4891,27 +4815,25 @@
(def: (refer-to-code module-name [r-defs r-opens])
(-> Text Refer Code)
- (let [=defs (: (List Code)
- (case r-defs
- #All
- (list (' #refer) (' #all))
-
- (#Only defs)
- (list (' #refer) (`' (#only (~+ (list/map (|>> [""] symbol$)
- defs)))))
-
- (#Exclude defs)
- (list (' #refer) (`' (#exclude (~+ (list/map (|>> [""] symbol$)
- defs)))))
-
- #Nothing
- (list)))
- =opens (join-map (function (_ [prefix structs])
- (list& (text$ prefix) (list/map (|>> [""] symbol$) structs)))
- r-opens)]
+ (let [localizations (: (List Code)
+ (case r-defs
+ #All
+ (list (' #*))
+
+ (#Only defs)
+ (list (form$ (list& (' #+) (list/map local-symbol$ defs))))
+
+ (#Exclude defs)
+ (list (form$ (list& (' #-) (list/map local-symbol$ defs))))
+
+ #Nothing
+ (list)))
+ openings (list/map (function (_ [prefix structs])
+ (form$ (list& (text$ prefix) (list/map local-symbol$ structs))))
+ r-opens)]
(` (..refer (~ (text$ module-name))
- (~+ =defs)
- (~' #open) ((~+ =opens))))))
+ (~+ localizations)
+ (~+ openings)))))
(macro: #export (module: tokens)
{#.doc "Module-definition macro.
diff --git a/stdlib/source/lux/cli.lux b/stdlib/source/lux/cli.lux
index 0f7659fff..5b4b9b6bc 100644
--- a/stdlib/source/lux/cli.lux
+++ b/stdlib/source/lux/cli.lux
@@ -1,15 +1,17 @@
(.module:
- lux
- (lux (control monad
- ["p" parser])
- (data (collection [list ("list/" Monoid Monad)])
- [text ("text/" Equivalence)]
- text/format
- ["E" error])
- [io]
- [macro (#+ with-gensyms)]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])))
+ [lux #*
+ [control
+ monad
+ ["p" parser]]
+ [data
+ [collection [list ("list/" Monoid Monad)]]
+ [text ("text/" Equivalence)
+ format]
+ ["E" error]]
+ [io]
+ [macro (#+ with-gensyms)
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]])
## [Types]
(type: #export (CLI a)
diff --git a/stdlib/source/lux/concurrency/actor.lux b/stdlib/source/lux/concurrency/actor.lux
index 792b65dfc..81e873def 100644
--- a/stdlib/source/lux/concurrency/actor.lux
+++ b/stdlib/source/lux/concurrency/actor.lux
@@ -1,23 +1,28 @@
(.module: {#.doc "The actor model of concurrency."}
- lux
- (lux (control monad
- ["p" parser]
- ["ex" exception (#+ exception:)])
- [io (#- run) ("io/" Monad)]
- (data [product]
- ["e" error]
- text/format
- (collection [list ("list/" Monoid Monad Fold)]))
- [macro (#+ with-gensyms Monad)]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)]
- (syntax ["cs" common]
- (common ["csr" reader]
- ["csw" writer])))
- (type abstract))
- (// [atom (#+ Atom atom)]
- [promise (#+ Promise promise) ("promise/" Monad)]
- [task (#+ Task)]))
+ [lux #*
+ [control monad
+ ["p" parser]
+ ["ex" exception (#+ exception:)]]
+ [io (#- run) ("io/" Monad)]
+ [data
+ [product]
+ ["e" error]
+ text/format
+ [collection [list ("list/" Monoid Monad Fold)]]]
+ [macro (#+ with-gensyms Monad)
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]
+ [syntax
+ ["cs" common]
+ [common
+ ["csr" reader]
+ ["csw" writer]]]]
+ [type
+ abstract]]
+ [//
+ [atom (#+ Atom atom)]
+ [promise (#+ Promise promise) ("promise/" Monad)]
+ [task (#+ Task)]])
(exception: #export poisoned)
diff --git a/stdlib/source/lux/concurrency/atom.lux b/stdlib/source/lux/concurrency/atom.lux
index 49e16340f..8cfc117e4 100644
--- a/stdlib/source/lux/concurrency/atom.lux
+++ b/stdlib/source/lux/concurrency/atom.lux
@@ -1,7 +1,7 @@
(.module:
- lux
- (lux [function]
- [io (#- run)]))
+ [lux #*
+ [function]
+ [io (#- run)]])
(type: #export (Atom a)
{#.doc "Atomic references that are safe to mutate concurrently."}
diff --git a/stdlib/source/lux/concurrency/frp.lux b/stdlib/source/lux/concurrency/frp.lux
index 0ecaf9266..b75e85939 100644
--- a/stdlib/source/lux/concurrency/frp.lux
+++ b/stdlib/source/lux/concurrency/frp.lux
@@ -1,13 +1,15 @@
(.module:
- lux
- (lux (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ do Monad)])
- [io (#+ IO io)]
- (data (collection [list ("list/" Monoid)]))
- (type abstract))
- (// [atom (#+ Atom atom)]
- [promise (#+ Promise)]))
+ [lux #*
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ do Monad)]]
+ [io (#+ IO io)]
+ [data [collection [list ("list/" Monoid)]]]
+ [type abstract]]
+ [//
+ [atom (#+ Atom atom)]
+ [promise (#+ Promise)]])
## [Types]
(abstract: #export (Channel a)
diff --git a/stdlib/source/lux/concurrency/promise.lux b/stdlib/source/lux/concurrency/promise.lux
index aa0473dc9..c76c4c013 100644
--- a/stdlib/source/lux/concurrency/promise.lux
+++ b/stdlib/source/lux/concurrency/promise.lux
@@ -1,13 +1,14 @@
(.module:
- lux
- (lux [io (#+ IO io)]
- [function]
- (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ do Monad)])
- (data [product])
- (concurrency [atom (#+ Atom atom)])
- (type abstract)))
+ [lux #*
+ [io (#+ IO io)]
+ [function]
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ do Monad)]]
+ [data [product]]
+ [concurrency [atom (#+ Atom atom)]]
+ [type abstract]])
(def: #export parallelism
Nat
diff --git a/stdlib/source/lux/concurrency/semaphore.lux b/stdlib/source/lux/concurrency/semaphore.lux
index b237caa2b..0c01e9389 100644
--- a/stdlib/source/lux/concurrency/semaphore.lux
+++ b/stdlib/source/lux/concurrency/semaphore.lux
@@ -1,11 +1,13 @@
(.module:
- lux
- (lux (control [monad (#+ do)])
- (concurrency [atom (#+ Atom)]
- [promise (#+ Promise)])
- [io (#+ IO)]
- (type abstract
- [refinement])))
+ [lux #*
+ [control [monad (#+ do)]]
+ [concurrency
+ [atom (#+ Atom)]
+ [promise (#+ Promise)]]
+ [io (#+ IO)]
+ [type
+ abstract
+ [refinement]]])
(type: State
{#open-positions Nat
diff --git a/stdlib/source/lux/concurrency/stm.lux b/stdlib/source/lux/concurrency/stm.lux
index 1478c55e3..e3c797b2d 100644
--- a/stdlib/source/lux/concurrency/stm.lux
+++ b/stdlib/source/lux/concurrency/stm.lux
@@ -1,16 +1,19 @@
(.module:
- lux
- (lux (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ do Monad)])
- [io (#+ IO io)]
- (data [product]
- [maybe]
- (collection [list ("list/" Functor Fold)]))
- (concurrency [atom (#+ Atom atom)]
- [promise (#+ Promise promise)]
- [frp ("frp/" Functor)])
- (type abstract)))
+ [lux #*
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ do Monad)]]
+ [io (#+ IO io)]
+ [data
+ [product]
+ [maybe]
+ [collection [list ("list/" Functor Fold)]]]
+ [concurrency
+ [atom (#+ Atom atom)]
+ [promise (#+ Promise promise)]
+ [frp ("frp/" Functor)]]
+ [type abstract]])
(abstract: #export (Var a)
{#.doc "A mutable cell containing a value, and observers that will be alerted of any change to it."}
diff --git a/stdlib/source/lux/concurrency/task.lux b/stdlib/source/lux/concurrency/task.lux
index 3b3b6793c..f3043ce9b 100644
--- a/stdlib/source/lux/concurrency/task.lux
+++ b/stdlib/source/lux/concurrency/task.lux
@@ -1,14 +1,14 @@
(.module:
- lux
- (lux (data ["E" error])
- (control ["F" functor]
- ["A" apply]
- monad
- ["ex" exception (#+ Exception)])
- (concurrency ["P" promise])
- [macro]
- (macro ["s" syntax (#+ syntax: Syntax)])
- ))
+ [lux #*
+ [data ["E" error]]
+ [control
+ ["F" functor]
+ ["A" apply]
+ monad
+ ["ex" exception (#+ Exception)]]
+ [concurrency ["P" promise]]
+ ["." macro ["s" syntax (#+ syntax: Syntax)]]
+ ])
(type: #export (Task a)
(P.Promise (E.Error a)))
diff --git a/stdlib/source/lux/control/algebra.lux b/stdlib/source/lux/control/algebra.lux
index 0f9df072d..2813ed0e7 100644
--- a/stdlib/source/lux/control/algebra.lux
+++ b/stdlib/source/lux/control/algebra.lux
@@ -1,6 +1,7 @@
(.module:
- lux
- (lux (control functor)))
+ [lux #*
+ [control
+ functor]])
## Types
(type: #export (Algebra f a)
diff --git a/stdlib/source/lux/control/apply.lux b/stdlib/source/lux/control/apply.lux
index 95f2de15e..9e5f1b6ae 100644
--- a/stdlib/source/lux/control/apply.lux
+++ b/stdlib/source/lux/control/apply.lux
@@ -1,7 +1,8 @@
(.module:
lux
- (// [functor (#+ Functor)]
- [monad (#+ Monad)]))
+ [//
+ [functor (#+ Functor)]
+ [monad (#+ Monad)]])
(signature: #export (Apply f)
{#.doc "Applicative functors."}
diff --git a/stdlib/source/lux/control/codec.lux b/stdlib/source/lux/control/codec.lux
index b219c8522..5e274e766 100644
--- a/stdlib/source/lux/control/codec.lux
+++ b/stdlib/source/lux/control/codec.lux
@@ -1,7 +1,7 @@
(.module:
- lux
- (lux (control monad)
- (data ["e" error])))
+ [lux #*
+ [control monad]
+ [data ["e" error]]])
## [Signatures]
(signature: #export (Codec m a)
diff --git a/stdlib/source/lux/control/comonad.lux b/stdlib/source/lux/control/comonad.lux
index a154a89a2..937a121b1 100644
--- a/stdlib/source/lux/control/comonad.lux
+++ b/stdlib/source/lux/control/comonad.lux
@@ -1,7 +1,10 @@
(.module:
- lux
- (lux (data (collection [list ("list/" Fold)])))
- ["F" //functor])
+ [lux #*
+ [data
+ [collection
+ [list ("list/" Fold)]]]]
+ [//
+ ["F" functor]])
## [Signatures]
(signature: #export (CoMonad w)
diff --git a/stdlib/source/lux/control/concatenative.lux b/stdlib/source/lux/control/concatenative.lux
index 449449b97..af86fc527 100644
--- a/stdlib/source/lux/control/concatenative.lux
+++ b/stdlib/source/lux/control/concatenative.lux
@@ -1,20 +1,25 @@
-(.module: [lux (#- if loop when
- n/+ n/- n/* n// n/% n/= n/< n/<= n/> n/>=
- i/+ i/- i/* i// i/% i/= i/< i/<= i/> i/>=
- r/+ r/- r/* r// r/% r/= r/< r/<= r/> r/>=
- f/+ f/- f/* f// f/% f/= f/< f/<= f/> f/>=)]
- (lux (control ["p" parser ("parser/" Monad)]
- [monad])
- (data [text]
- text/format
- [maybe ("maybe/" Monad)]
- (collection [list ("list/" Fold Functor)]))
- [macro (#+ with-gensyms Monad)]
- (macro [code]
- ["s" syntax (#+ syntax:)]
- (syntax ["cs" common]
- (common ["csr" reader]
- ["csw" writer])))))
+(.module:
+ [lux (#- if loop when
+ n/+ n/- n/* n// n/% n/= n/< n/<= n/> n/>=
+ i/+ i/- i/* i// i/% i/= i/< i/<= i/> i/>=
+ r/+ r/- r/* r// r/% r/= r/< r/<= r/> r/>=
+ f/+ f/- f/* f// f/% f/= f/< f/<= f/> f/>=)
+ [control
+ ["p" parser ("parser/" Monad)]
+ [monad]]
+ [data
+ [text]
+ text/format
+ [maybe ("maybe/" Monad)]
+ [collection [list ("list/" Fold Functor)]]]
+ [macro (#+ with-gensyms Monad)
+ [code]
+ ["s" syntax (#+ syntax:)]
+ [syntax
+ ["cs" common]
+ [common
+ ["csr" reader]
+ ["csw" writer]]]]])
## [Syntax]
(type: Alias [Text Code])
diff --git a/stdlib/source/lux/control/continuation.lux b/stdlib/source/lux/control/continuation.lux
index fb330967a..beaab50fb 100644
--- a/stdlib/source/lux/control/continuation.lux
+++ b/stdlib/source/lux/control/continuation.lux
@@ -1,12 +1,13 @@
(.module:
- lux
- (lux (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- monad)
- function
- [macro (#+ with-gensyms)]
- (macro [code]
- [syntax (#+ syntax:)])))
+ [lux #*
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ monad]
+ function
+ [macro (#+ with-gensyms)
+ [code]
+ [syntax (#+ syntax:)]]])
(type: #export (Cont i o)
{#.doc "Continuations."}
diff --git a/stdlib/source/lux/control/contract.lux b/stdlib/source/lux/control/contract.lux
index dbe92ad76..1b4939cb6 100644
--- a/stdlib/source/lux/control/contract.lux
+++ b/stdlib/source/lux/control/contract.lux
@@ -1,10 +1,11 @@
(.module:
- lux
- (lux (control monad)
- (data text/format)
- [macro]
- (macro [code]
- ["s" syntax (#+ syntax:)])))
+ [lux #*
+ [control
+ monad]
+ [data
+ text/format]
+ [macro (#+) [code]
+ ["s" syntax (#+ syntax:)]]])
(def: #export (assert! message test)
(-> Text Bool [])
diff --git a/stdlib/source/lux/control/enum.lux b/stdlib/source/lux/control/enum.lux
index b2b2f090c..b153beede 100644
--- a/stdlib/source/lux/control/enum.lux
+++ b/stdlib/source/lux/control/enum.lux
@@ -1,5 +1,7 @@
-(.module: lux
- (lux/control [order]))
+(.module:
+ [lux #*
+ [control
+ ["." order]]])
## [Signatures]
(signature: #export (Enum e)
diff --git a/stdlib/source/lux/control/exception.lux b/stdlib/source/lux/control/exception.lux
index ab1b27e94..41dd22b88 100644
--- a/stdlib/source/lux/control/exception.lux
+++ b/stdlib/source/lux/control/exception.lux
@@ -1,18 +1,22 @@
(.module: {#.doc "Exception-handling functionality built on top of the Error type."}
- lux
- (lux (control [monad (#+ do)]
- ["p" parser])
- (data ["/" error (#+ Error)]
- [maybe]
- [product]
- [text ("text/" Monoid)]
- (collection [list ("list/" Functor Fold)]))
- [macro]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)]
- (syntax ["cs" common]
- (common ["csr" reader]
- ["csw" writer])))))
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["p" parser]]
+ [data
+ ["/" error (#+ Error)]
+ [maybe]
+ [product]
+ [text ("text/" Monoid)]
+ [collection [list ("list/" Functor Fold)]]]
+ ["." macro
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]
+ [syntax
+ ["cs" common]
+ [common
+ ["csr" reader]
+ ["csw" writer]]]]])
## [Types]
(type: #export (Exception a)
diff --git a/stdlib/source/lux/control/hash.lux b/stdlib/source/lux/control/hash.lux
index f1ecfd01d..aa668c7c7 100644
--- a/stdlib/source/lux/control/hash.lux
+++ b/stdlib/source/lux/control/hash.lux
@@ -1,6 +1,6 @@
(.module:
lux
- (// [equivalence (#+ Equivalence)]))
+ [// [equivalence (#+ Equivalence)]])
## [Signatures]
(signature: #export (Hash a)
diff --git a/stdlib/source/lux/control/interval.lux b/stdlib/source/lux/control/interval.lux
index ddb505f6f..ae8c6ce30 100644
--- a/stdlib/source/lux/control/interval.lux
+++ b/stdlib/source/lux/control/interval.lux
@@ -1,8 +1,9 @@
(.module:
- lux
- (lux (control [equivalence (#+ Equivalence)]
- [order]
- [enum (#+ Enum)])))
+ [lux #*
+ [control
+ [equivalence (#+ Equivalence)]
+ ["." order]
+ [enum (#+ Enum)]]])
## Signatures
(signature: #export (Interval a)
diff --git a/stdlib/source/lux/control/monad.lux b/stdlib/source/lux/control/monad.lux
index 7db3cfd79..997bb2117 100644
--- a/stdlib/source/lux/control/monad.lux
+++ b/stdlib/source/lux/control/monad.lux
@@ -1,6 +1,6 @@
(.module:
lux
- (// [functor (#+ Functor)]))
+ [// [functor (#+ Functor)]])
## [Utils]
(def: (list/fold f init xs)
diff --git a/stdlib/source/lux/control/monad/free.lux b/stdlib/source/lux/control/monad/free.lux
index 41a2bdfd1..b30de7b1f 100644
--- a/stdlib/source/lux/control/monad/free.lux
+++ b/stdlib/source/lux/control/monad/free.lux
@@ -1,8 +1,9 @@
(.module:
lux
- (/// [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ Monad)]))
+ [///
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ Monad)]])
(type: #export (Free F a)
{#.doc "The Free Monad."}
diff --git a/stdlib/source/lux/control/monad/indexed.lux b/stdlib/source/lux/control/monad/indexed.lux
index cbed38690..9e0cd9fd4 100644
--- a/stdlib/source/lux/control/monad/indexed.lux
+++ b/stdlib/source/lux/control/monad/indexed.lux
@@ -1,10 +1,13 @@
(.module:
- lux
- (lux (control [monad]
- ["p" parser])
- (data (collection [list ("list/" Functor Fold)]))
- [macro]
- (macro ["s" syntax (#+ Syntax syntax:)])))
+ [lux #*
+ [control
+ [monad]
+ ["p" parser]]
+ [data
+ [collection
+ [list ("list/" Functor Fold)]]]
+ ["." macro
+ ["s" syntax (#+ Syntax syntax:)]]])
(signature: #export (IxMonad m)
(: (All [p a]
diff --git a/stdlib/source/lux/control/monoid.lux b/stdlib/source/lux/control/monoid.lux
index 550b9c25f..b841043ab 100644
--- a/stdlib/source/lux/control/monoid.lux
+++ b/stdlib/source/lux/control/monoid.lux
@@ -1,5 +1,6 @@
-(.module: lux
- (// [fold (#+ Fold)]))
+(.module:
+ lux
+ [// [fold (#+ Fold)]])
(signature: #export (Monoid a)
{#.doc "A way to compose values.
diff --git a/stdlib/source/lux/control/order.lux b/stdlib/source/lux/control/order.lux
index edd25aca0..6a801392d 100644
--- a/stdlib/source/lux/control/order.lux
+++ b/stdlib/source/lux/control/order.lux
@@ -1,7 +1,7 @@
(.module:
- lux
- (lux function)
- (// [equivalence (#+ Equivalence)]))
+ [lux #*
+ function]
+ [// [equivalence (#+ Equivalence)]])
## [Signatures]
(signature: #export (Order a)
diff --git a/stdlib/source/lux/control/parser.lux b/stdlib/source/lux/control/parser.lux
index e25115d80..4c5e827f9 100644
--- a/stdlib/source/lux/control/parser.lux
+++ b/stdlib/source/lux/control/parser.lux
@@ -1,12 +1,14 @@
(.module:
- [lux (#- not)]
- (lux (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ do Monad)]
- [codec])
- (data (collection [list ("list/" Functor Monoid)])
- [product]
- ["e" error (#+ Error)])))
+ [lux (#- not)
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ do Monad)]
+ [codec]]
+ [data
+ [collection [list ("list/" Functor Monoid)]]
+ [product]
+ ["e" error (#+ Error)]]])
(type: #export (Parser s a)
{#.doc "A generic parser."}
diff --git a/stdlib/source/lux/control/pipe.lux b/stdlib/source/lux/control/pipe.lux
index 82c2b5a2c..97e38b365 100644
--- a/stdlib/source/lux/control/pipe.lux
+++ b/stdlib/source/lux/control/pipe.lux
@@ -1,13 +1,15 @@
(.module: {#.doc "Composable extensions to the piping macros (|> and <|) that enhance them with various abilities."}
- lux
- (lux (control [monad (#+ do)]
- ["p" parser])
- (data ["e" error]
- (collection [list ("list/" Fold Monad)]))
- [macro (#+ with-gensyms)]
- (macro ["s" syntax (#+ syntax: Syntax)]
- [code])
- ))
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["p" parser]]
+ [data
+ ["e" error]
+ [collection [list ("list/" Fold Monad)]]]
+ [macro (#+ with-gensyms)
+ ["s" syntax (#+ syntax: Syntax)]
+ [code]]
+ ])
## [Syntax]
(def: body^
diff --git a/stdlib/source/lux/control/predicate.lux b/stdlib/source/lux/control/predicate.lux
index b8595afe5..9af533a8f 100644
--- a/stdlib/source/lux/control/predicate.lux
+++ b/stdlib/source/lux/control/predicate.lux
@@ -1,8 +1,8 @@
(.module:
- lux
- (lux (control [monoid (#+ Monoid)])
- (data (collection [set (#+ Set)]))
- [function]))
+ [lux #*
+ [control [monoid (#+ Monoid)]]
+ [data [collection [set (#+ Set)]]]
+ [function]])
(type: #export (Predicate a)
(-> a Bool))
diff --git a/stdlib/source/lux/control/reader.lux b/stdlib/source/lux/control/reader.lux
index 0e4e4684b..dfe8724e0 100644
--- a/stdlib/source/lux/control/reader.lux
+++ b/stdlib/source/lux/control/reader.lux
@@ -1,8 +1,9 @@
(.module:
- lux
- (lux (control ["F" functor]
- ["A" apply]
- [monad (#+ do Monad)])))
+ [lux #*
+ [control
+ ["F" functor]
+ ["A" apply]
+ [monad (#+ do Monad)]]])
## [Types]
(type: #export (Reader r a)
diff --git a/stdlib/source/lux/control/region.lux b/stdlib/source/lux/control/region.lux
index 089bf9587..d83f82279 100644
--- a/stdlib/source/lux/control/region.lux
+++ b/stdlib/source/lux/control/region.lux
@@ -1,12 +1,14 @@
(.module:
- lux
- (lux (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ Monad do)]
- ["ex" exception (#+ Exception exception:)])
- (data ["e" error (#+ Error)]
- text/format
- (collection [list ("list/" Fold)]))))
+ [lux #*
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ Monad do)]
+ ["ex" exception (#+ Exception exception:)]]
+ [data
+ ["e" error (#+ Error)]
+ text/format
+ [collection [list ("list/" Fold)]]]])
(type: (Cleaner r m)
(-> r (m (Error Any))))
diff --git a/stdlib/source/lux/control/state.lux b/stdlib/source/lux/control/state.lux
index b96f174aa..03965f498 100644
--- a/stdlib/source/lux/control/state.lux
+++ b/stdlib/source/lux/control/state.lux
@@ -1,8 +1,9 @@
(.module:
- lux
- (lux (control ["F" functor]
- ["A" apply]
- [monad (#+ do Monad)])))
+ [lux #*
+ [control
+ ["F" functor]
+ ["A" apply]
+ [monad (#+ do Monad)]]])
## [Types]
(type: #export (State s a)
diff --git a/stdlib/source/lux/control/thread.lux b/stdlib/source/lux/control/thread.lux
index d8e995371..b7aac24d7 100644
--- a/stdlib/source/lux/control/thread.lux
+++ b/stdlib/source/lux/control/thread.lux
@@ -1,9 +1,10 @@
(.module:
- lux
- (lux (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ Monad do)])
- [io (#+ IO)]))
+ [lux #*
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ Monad do)]]
+ [io (#+ IO)]])
(type: #export (Thread ! a)
(-> ! a))
diff --git a/stdlib/source/lux/control/writer.lux b/stdlib/source/lux/control/writer.lux
index 07d94ac25..25e665b73 100644
--- a/stdlib/source/lux/control/writer.lux
+++ b/stdlib/source/lux/control/writer.lux
@@ -1,9 +1,10 @@
(.module:
- lux
- (lux/control monoid
- ["F" functor]
- ["A" apply]
- [monad (#+ do Monad)]))
+ [lux #*
+ [control
+ monoid
+ ["F" functor]
+ ["A" apply]
+ [monad (#+ do Monad)]]])
(type: #export (Writer l a)
{#.doc "Represents a value with an associated 'log' value to record arbitrary information."}
diff --git a/stdlib/source/lux/data/bool.lux b/stdlib/source/lux/data/bool.lux
index 09aa2686b..b75663ad5 100644
--- a/stdlib/source/lux/data/bool.lux
+++ b/stdlib/source/lux/data/bool.lux
@@ -1,10 +1,11 @@
(.module:
- lux
- (lux (control [monoid (#+ Monoid)]
- [equivalence (#+ Equivalence)]
- hash
- [codec (#+ Codec)])
- function))
+ [lux #*
+ [control
+ [monoid (#+ Monoid)]
+ [equivalence (#+ Equivalence)]
+ hash
+ [codec (#+ Codec)]]
+ function])
## [Structures]
(structure: #export _ (Equivalence Bool)
diff --git a/stdlib/source/lux/data/collection/array.lux b/stdlib/source/lux/data/collection/array.lux
index fa261318f..684988954 100644
--- a/stdlib/source/lux/data/collection/array.lux
+++ b/stdlib/source/lux/data/collection/array.lux
@@ -1,12 +1,14 @@
(.module:
- lux
- (lux (control [monoid (#+ Monoid)]
- [functor (#+ Functor)]
- [equivalence (#+ Equivalence)]
- fold)
- (data (collection [list ("list/" Fold)])
- [product])
- ))
+ [lux #*
+ [control
+ [monoid (#+ Monoid)]
+ [functor (#+ Functor)]
+ [equivalence (#+ Equivalence)]
+ fold]
+ [data
+ [collection [list ("list/" Fold)]]
+ [product]]
+ ])
(def: #export (new size)
(All [a] (-> Nat (Array a)))
diff --git a/stdlib/source/lux/data/collection/bits.lux b/stdlib/source/lux/data/collection/bits.lux
index 74a3e4189..78d5b4b7d 100644
--- a/stdlib/source/lux/data/collection/bits.lux
+++ b/stdlib/source/lux/data/collection/bits.lux
@@ -1,11 +1,13 @@
(.module:
- [lux (#- not and or)]
- (lux (control [equivalence (#+ Equivalence)]
- pipe)
- (data [maybe]
- [bit]
- (collection [array ("array/" Fold)])
- text/format)))
+ [lux (#- not and or)
+ [control
+ [equivalence (#+ Equivalence)]
+ pipe]
+ [data
+ [maybe]
+ [bit]
+ [text format]
+ [collection [array ("array/" Fold)]]]])
(type: #export Chunk I64)
diff --git a/stdlib/source/lux/data/collection/dictionary.lux b/stdlib/source/lux/data/collection/dictionary.lux
index 6712b57fb..a3e4be1d6 100644
--- a/stdlib/source/lux/data/collection/dictionary.lux
+++ b/stdlib/source/lux/data/collection/dictionary.lux
@@ -1,14 +1,17 @@
(.module:
- lux
- (lux (control hash
- [equivalence (#+ Equivalence)])
- (data [maybe]
- (collection [list ("list/" Fold Functor Monoid)]
- [array ("array/" Functor Fold)])
- [bit]
- [product]
- [number])
- ))
+ [lux #*
+ [control
+ hash
+ [equivalence (#+ Equivalence)]]
+ [data
+ [maybe]
+ [bit]
+ [product]
+ [number]
+ [collection
+ [list ("list/" Fold Functor Monoid)]
+ [array ("array/" Functor Fold)]]]
+ ])
## This implementation of Hash Array Mapped Trie (HAMT) is based on
## Clojure's PersistentHashMap implementation.
diff --git a/stdlib/source/lux/data/collection/dictionary/ordered.lux b/stdlib/source/lux/data/collection/dictionary/ordered.lux
index 6c0b645fc..963f178b3 100644
--- a/stdlib/source/lux/data/collection/dictionary/ordered.lux
+++ b/stdlib/source/lux/data/collection/dictionary/ordered.lux
@@ -1,14 +1,16 @@
(.module:
- lux
- (lux (control [monad (#+ do Monad)]
- equivalence
- [order (#+ Order)])
- (data (collection [list ("list/" Monoid Fold)])
- ["p" product]
- [maybe])
- [macro]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])))
+ [lux #*
+ [control
+ [monad (#+ do Monad)]
+ equivalence
+ [order (#+ Order)]]
+ [data
+ ["p" product]
+ [maybe]
+ [collection [list ("list/" Monoid Fold)]]]
+ ["." macro
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]])
(def: error-message Text "Invariant violation")
diff --git a/stdlib/source/lux/data/collection/dictionary/plist.lux b/stdlib/source/lux/data/collection/dictionary/plist.lux
index 6ef26d51d..f1a6dff7e 100644
--- a/stdlib/source/lux/data/collection/dictionary/plist.lux
+++ b/stdlib/source/lux/data/collection/dictionary/plist.lux
@@ -1,6 +1,7 @@
(.module:
- lux
- (lux (data [text ("text/" Equivalence)])))
+ [lux #*
+ [data
+ [text ("text/" Equivalence)]]])
(type: #export (PList a)
(List [Text a]))
diff --git a/stdlib/source/lux/data/collection/list.lux b/stdlib/source/lux/data/collection/list.lux
index 549074d99..7ea58354e 100644
--- a/stdlib/source/lux/data/collection/list.lux
+++ b/stdlib/source/lux/data/collection/list.lux
@@ -1,14 +1,16 @@
(.module:
- lux
- (lux (control [monoid (#+ Monoid)]
- [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ do Monad)]
- [equivalence (#+ Equivalence)]
- [fold])
- (data [number ("nat/" Codec)]
- bool
- [product])))
+ [lux #*
+ [control
+ [monoid (#+ Monoid)]
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ do Monad)]
+ [equivalence (#+ Equivalence)]
+ [fold]]
+ [data
+ [number ("nat/" Codec)]
+ bool
+ [product]]])
## [Types]
## (type: (List a)
diff --git a/stdlib/source/lux/data/collection/queue.lux b/stdlib/source/lux/data/collection/queue.lux
index bbb2c8721..cf3587ece 100644
--- a/stdlib/source/lux/data/collection/queue.lux
+++ b/stdlib/source/lux/data/collection/queue.lux
@@ -1,8 +1,9 @@
(.module:
- lux
- (lux (control [equivalence (#+ Equivalence)]
- ["F" functor])
- (data (collection [list ("list/" Monoid Functor)]))))
+ [lux #*
+ [control
+ [equivalence (#+ Equivalence)]
+ ["F" functor]]
+ [data [collection [list ("list/" Monoid Functor)]]]])
(type: #export (Queue a)
{#front (List a)
diff --git a/stdlib/source/lux/data/collection/queue/priority.lux b/stdlib/source/lux/data/collection/queue/priority.lux
index ba087428c..6765c6708 100644
--- a/stdlib/source/lux/data/collection/queue/priority.lux
+++ b/stdlib/source/lux/data/collection/queue/priority.lux
@@ -1,10 +1,12 @@
(.module:
- lux
- (lux (control [equivalence (#+ Equivalence)]
- [monad (#+ do Monad)])
- (data (collection (tree [finger (#+ Tree)]))
- [number ("nat/" Interval)]
- [maybe])))
+ [lux #*
+ [control
+ [equivalence (#+ Equivalence)]
+ [monad (#+ do Monad)]]
+ [data
+ [number ("nat/" Interval)]
+ [maybe]
+ [collection [tree [finger (#+ Tree)]]]]])
(type: #export Priority Nat)
diff --git a/stdlib/source/lux/data/collection/row.lux b/stdlib/source/lux/data/collection/row.lux
index a32b08aae..1dce1d4c5 100644
--- a/stdlib/source/lux/data/collection/row.lux
+++ b/stdlib/source/lux/data/collection/row.lux
@@ -1,21 +1,24 @@
(.module:
- lux
- (lux (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ do Monad)]
- [equivalence (#+ Equivalence)]
- monoid
- fold
- ["p" parser])
- (data [maybe]
- (collection [list ("list/" Fold Functor Monoid)]
- [array ("array/" Functor Fold)])
- [bit]
- [product])
- [macro (#+ with-gensyms)]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])
- ))
+ [lux #*
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ do Monad)]
+ [equivalence (#+ Equivalence)]
+ monoid
+ fold
+ ["p" parser]]
+ [data
+ [maybe]
+ [bit]
+ [product]
+ [collection
+ [list ("list/" Fold Functor Monoid)]
+ [array ("array/" Functor Fold)]]]
+ [macro (#+ with-gensyms)
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]
+ ])
## [Utils]
(type: (Node a)
diff --git a/stdlib/source/lux/data/collection/sequence.lux b/stdlib/source/lux/data/collection/sequence.lux
index a148d745c..dc8f4a802 100644
--- a/stdlib/source/lux/data/collection/sequence.lux
+++ b/stdlib/source/lux/data/collection/sequence.lux
@@ -1,15 +1,17 @@
(.module:
- lux
- (lux (control functor
- monad
- comonad
- [continuation (#+ pending Cont)]
- ["p" parser])
- [macro (#+ with-gensyms)]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])
- (data (collection [list ("list/" Monad)])
- bool)))
+ [lux #*
+ [control
+ functor
+ monad
+ comonad
+ [continuation (#+ pending Cont)]
+ ["p" parser]]
+ [macro (#+ with-gensyms)
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]
+ [data
+ bool
+ [collection [list ("list/" Monad)]]]])
## [Types]
(type: #export (Sequence a)
diff --git a/stdlib/source/lux/data/collection/set.lux b/stdlib/source/lux/data/collection/set.lux
index 39585982a..5fa774e9e 100644
--- a/stdlib/source/lux/data/collection/set.lux
+++ b/stdlib/source/lux/data/collection/set.lux
@@ -1,10 +1,13 @@
(.module:
- lux
- (lux (control [equivalence (#+ Equivalence)]
- [hash (#+ Hash)])
- (data (collection ["dict" dictionary (#+ Dictionary)]
- [list ("list/" Fold)]))
- (type abstract)))
+ [lux #*
+ [control
+ [equivalence (#+ Equivalence)]
+ [hash (#+ Hash)]]
+ [data
+ [collection
+ ["dict" dictionary (#+ Dictionary)]
+ [list ("list/" Fold)]]]
+ [type abstract]])
(abstract: #export (Set a)
{}
diff --git a/stdlib/source/lux/data/collection/set/multi.lux b/stdlib/source/lux/data/collection/set/multi.lux
index 0695bd0ff..5aff87021 100644
--- a/stdlib/source/lux/data/collection/set/multi.lux
+++ b/stdlib/source/lux/data/collection/set/multi.lux
@@ -1,14 +1,16 @@
## https://en.wikipedia.org/wiki/Multiset
(.module:
- lux
- (lux (control [equivalence (#+ Equivalence)]
- [hash (#+ Hash)])
- [function]
- (language [type (#+ :share)])
- (type abstract))
- (//// [maybe])
- (/// [list ("list/" Fold)]
- [dictionary (#+ Dictionary)])
+ [lux #*
+ [control
+ [equivalence (#+ Equivalence)]
+ [hash (#+ Hash)]]
+ [function]
+ [language [type (#+ :share)]]
+ [type abstract]]
+ [//// [maybe]]
+ [///
+ [list ("list/" Fold)]
+ [dictionary (#+ Dictionary)]]
[//])
(abstract: #export (Set a)
diff --git a/stdlib/source/lux/data/collection/set/ordered.lux b/stdlib/source/lux/data/collection/set/ordered.lux
index 5ec88fb4a..7e43d2a4e 100644
--- a/stdlib/source/lux/data/collection/set/ordered.lux
+++ b/stdlib/source/lux/data/collection/set/ordered.lux
@@ -1,10 +1,13 @@
(.module:
- lux
- (lux (control [equivalence (#+ Equivalence)]
- [order (#+ Order)])
- (data (collection [list ("list/" Fold)]
- (dictionary ["//" ordered])))
- (type abstract)))
+ [lux #*
+ [control
+ [equivalence (#+ Equivalence)]
+ [order (#+ Order)]]
+ [data
+ [collection
+ [list ("list/" Fold)]
+ [dictionary ["//" ordered]]]]
+ [type abstract]])
(abstract: #export (Set a)
{}
diff --git a/stdlib/source/lux/data/collection/stack.lux b/stdlib/source/lux/data/collection/stack.lux
index c0e1af182..409993ef1 100644
--- a/stdlib/source/lux/data/collection/stack.lux
+++ b/stdlib/source/lux/data/collection/stack.lux
@@ -1,6 +1,8 @@
(.module:
- lux
- (lux (data (collection [list]))))
+ [lux #*
+ [data
+ [collection
+ [list]]]])
## [Types]
(type: #export (Stack a)
diff --git a/stdlib/source/lux/data/collection/tree/finger.lux b/stdlib/source/lux/data/collection/tree/finger.lux
index ea1ff0eee..1ce6d63fc 100644
--- a/stdlib/source/lux/data/collection/tree/finger.lux
+++ b/stdlib/source/lux/data/collection/tree/finger.lux
@@ -1,7 +1,7 @@
(.module:
- lux
- (lux (control ["m" monoid])
- (data text/format)))
+ [lux #*
+ [control ["m" monoid]]
+ [data [text format]]])
(type: #export (Node m a)
(#Leaf m a)
diff --git a/stdlib/source/lux/data/collection/tree/rose.lux b/stdlib/source/lux/data/collection/tree/rose.lux
index 72b2bf340..86f1fc49f 100644
--- a/stdlib/source/lux/data/collection/tree/rose.lux
+++ b/stdlib/source/lux/data/collection/tree/rose.lux
@@ -1,14 +1,15 @@
(.module:
- lux
- (lux (control functor
- [monad (#+ do Monad)]
- equivalence
- ["p" parser]
- fold)
- (data (collection [list ("list/" Monad Fold)]))
- [macro]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])))
+ [lux #*
+ [control
+ functor
+ [monad (#+ do Monad)]
+ equivalence
+ ["p" parser]
+ fold]
+ [data [collection [list ("list/" Monad Fold)]]]
+ ["." macro
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]])
## [Types]
(type: #export (Tree a)
diff --git a/stdlib/source/lux/data/collection/tree/rose/parser.lux b/stdlib/source/lux/data/collection/tree/rose/parser.lux
index 3696266dd..a2dd954b9 100644
--- a/stdlib/source/lux/data/collection/tree/rose/parser.lux
+++ b/stdlib/source/lux/data/collection/tree/rose/parser.lux
@@ -1,10 +1,12 @@
(.module:
- lux
- (lux (control ["p" parser]
- ["ex" exception (#+ exception:)])
- (data ["E" error]))
- [// (#+ Tree)]
- (// [zipper (#+ Zipper)]))
+ [lux #*
+ [control
+ ["p" parser]
+ ["ex" exception (#+ exception:)]]
+ [data
+ ["E" error]]]
+ [// (#+ Tree)
+ [zipper (#+ Zipper)]])
(type: #export (Parser t a)
(p.Parser (Zipper t) a))
diff --git a/stdlib/source/lux/data/collection/tree/rose/zipper.lux b/stdlib/source/lux/data/collection/tree/rose/zipper.lux
index 8c8d67007..f9a33ce0e 100644
--- a/stdlib/source/lux/data/collection/tree/rose/zipper.lux
+++ b/stdlib/source/lux/data/collection/tree/rose/zipper.lux
@@ -1,14 +1,17 @@
(.module:
- lux
- (lux (control functor
- comonad)
- (data (collection [list ("list/" Functor Fold Monoid)]
- (tree [rose (#+ Tree) ("tree/" Functor)])
- [stack (#+ Stack)])
- [maybe ("maybe/" Monad)])
- [macro]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])))
+ [lux #*
+ [control
+ functor
+ comonad]
+ [data
+ [collection
+ [list ("list/" Functor Fold Monoid)]
+ [tree [rose (#+ Tree) ("tree/" Functor)]]
+ [stack (#+ Stack)]]
+ [maybe ("maybe/" Monad)]]
+ ["." macro
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]])
## Adapted from the clojure.zip namespace in the Clojure standard library.
diff --git a/stdlib/source/lux/data/color.lux b/stdlib/source/lux/data/color.lux
index 9312429b8..a7b9fa0c3 100644
--- a/stdlib/source/lux/data/color.lux
+++ b/stdlib/source/lux/data/color.lux
@@ -1,9 +1,9 @@
(.module:
- lux
- (lux (control ["eq" equivalence])
- (data (collection [list ("list/" Functor)]))
- [math]
- (type abstract)))
+ [lux #*
+ [control ["eq" equivalence]]
+ [data [collection [list ("list/" Functor)]]]
+ [math]
+ [type abstract]])
(def: rgb Nat +256)
(def: top Nat (dec rgb))
diff --git a/stdlib/source/lux/data/env.lux b/stdlib/source/lux/data/env.lux
index 68d0affc0..134220215 100644
--- a/stdlib/source/lux/data/env.lux
+++ b/stdlib/source/lux/data/env.lux
@@ -1,7 +1,7 @@
(.module:
- lux
- (lux (control ["F" functor]
- comonad)))
+ [lux #*
+ [control ["F" functor]
+ comonad]])
(type: #export (Env e a)
{#env e
diff --git a/stdlib/source/lux/data/error.lux b/stdlib/source/lux/data/error.lux
index 456df0b0c..0baeecc73 100644
--- a/stdlib/source/lux/data/error.lux
+++ b/stdlib/source/lux/data/error.lux
@@ -1,8 +1,9 @@
(.module:
- lux
- (lux (control ["F" functor]
- ["A" apply]
- ["M" monad (#+ do Monad)])))
+ [lux #*
+ [control
+ ["F" functor]
+ ["A" apply]
+ ["M" monad (#+ do Monad)]]])
## [Types]
(type: #export (Error a)
diff --git a/stdlib/source/lux/data/format/binary.lux b/stdlib/source/lux/data/format/binary.lux
index 8cc389e5e..4503f21dd 100644
--- a/stdlib/source/lux/data/format/binary.lux
+++ b/stdlib/source/lux/data/format/binary.lux
@@ -1,14 +1,17 @@
(.module:
- [lux (#- nat int rev list type)]
- (lux (control [monad (#+ do Monad)]
- ["p" parser]
- ["ex" exception (#+ exception:)]
- [equivalence (#+ Equivalence)])
- (data [error]
- (text [encoding]
- [format (#+ %n)])
- [number])
- (world [blob (#+ Blob)])))
+ [lux (#- nat int rev list type)
+ [control
+ [monad (#+ do Monad)]
+ ["p" parser]
+ ["ex" exception (#+ exception:)]
+ [equivalence (#+ Equivalence)]]
+ [data
+ [error]
+ [text
+ [encoding]
+ [format (#+ %n)]]
+ [number]]
+ [world [blob (#+ Blob)]]])
## Exceptions
(exception: #export (blob-was-not-fully-read {length Nat} {read Nat})
diff --git a/stdlib/source/lux/data/format/context.lux b/stdlib/source/lux/data/format/context.lux
index 176fed9f8..0cc7d0da8 100644
--- a/stdlib/source/lux/data/format/context.lux
+++ b/stdlib/source/lux/data/format/context.lux
@@ -1,10 +1,12 @@
(.module:
- lux
- (lux (control ["p" parser]
- ["ex" exception (#+ exception:)]
- [monad (#+ do)])
- (data ["E" error]
- (collection ["dict" dictionary (#+ Dictionary)]))))
+ [lux #*
+ [control
+ ["p" parser]
+ ["ex" exception (#+ exception:)]
+ [monad (#+ do)]]
+ [data
+ ["E" error]
+ [collection ["dict" dictionary (#+ Dictionary)]]]])
(exception: #export (unknown-property {property Text})
property)
diff --git a/stdlib/source/lux/data/format/css.lux b/stdlib/source/lux/data/format/css.lux
index 3ef030241..6afbe164e 100644
--- a/stdlib/source/lux/data/format/css.lux
+++ b/stdlib/source/lux/data/format/css.lux
@@ -1,10 +1,11 @@
(.module:
- lux
- (lux (data [color (#+ Color)]
- [number]
- [text]
- text/format
- (collection [list ("list/" Functor Monoid)]))))
+ [lux #*
+ [data
+ [color (#+ Color)]
+ [number]
+ ["." text
+ format]
+ [collection [list ("list/" Functor Monoid)]]]])
(type: #export Selector
Text)
diff --git a/stdlib/source/lux/data/format/html.lux b/stdlib/source/lux/data/format/html.lux
index c3821027d..b63993b3b 100644
--- a/stdlib/source/lux/data/format/html.lux
+++ b/stdlib/source/lux/data/format/html.lux
@@ -1,8 +1,9 @@
(.module:
- [lux (#- comment)]
- (lux (data [text]
- text/format
- (collection [list ("list/" Functor)]))))
+ [lux (#- comment)
+ [data
+ ["." text
+ format]
+ [collection [list ("list/" Functor)]]]])
(type: #export Attributes
{#.doc "Attributes for an HTML tag."}
diff --git a/stdlib/source/lux/data/format/json.lux b/stdlib/source/lux/data/format/json.lux
index cd7b82be0..0316b5a9b 100644
--- a/stdlib/source/lux/data/format/json.lux
+++ b/stdlib/source/lux/data/format/json.lux
@@ -1,25 +1,28 @@
(.module: {#.doc "Functionality for reading and writing values in the JSON format.
For more information, please see: http://www.json.org/"}
- [lux (#- Array)]
- (lux (control [monad (#+ do Monad)]
- [equivalence (#+ Equivalence)]
- codec
- ["p" parser ("parser/" Monad)])
- (data [bool]
- [text ("text/" Equivalence Monoid)]
- (text ["l" lexer])
- [number ("frac/" Codec) ("nat/" Codec)]
- [maybe]
- ["e" error]
- [sum]
- [product]
- (collection [list ("list/" Fold Monad)]
- [row (#+ Row row) ("row/" Monad)]
- ["dict" dictionary (#+ Dictionary)]))
- [macro (#+ Monad with-gensyms)]
- (macro ["s" syntax (#+ syntax:)]
- [code])))
+ [lux (#- Array)
+ [control
+ [monad (#+ do Monad)]
+ [equivalence (#+ Equivalence)]
+ codec
+ ["p" parser ("parser/" Monad)]]
+ [data
+ [bool]
+ [text ("text/" Equivalence Monoid)
+ ["l" lexer]]
+ [number ("frac/" Codec) ("nat/" Codec)]
+ [maybe]
+ ["e" error]
+ [sum]
+ [product]
+ [collection
+ [list ("list/" Fold Monad)]
+ [row (#+ Row row) ("row/" Monad)]
+ ["dict" dictionary (#+ Dictionary)]]]
+ [macro (#+ Monad with-gensyms)
+ ["s" syntax (#+ syntax:)]
+ [code]]])
(do-template [ ]
[(type: #export )]
diff --git a/stdlib/source/lux/data/format/xml.lux b/stdlib/source/lux/data/format/xml.lux
index 76b4b1710..fcdca14c8 100644
--- a/stdlib/source/lux/data/format/xml.lux
+++ b/stdlib/source/lux/data/format/xml.lux
@@ -1,18 +1,21 @@
(.module: {#.doc "Functionality for reading, generating and processing values in the XML format."}
- lux
- (lux (control monad
- [equivalence (#+ Equivalence)]
- codec
- ["p" parser ("parser/" Monad)]
- ["ex" exception (#+ exception:)])
- (data [text ("text/" Equivalence Monoid)]
- (text ["l" lexer])
- [number]
- ["E" error]
- [product]
- [ident ("ident/" Equivalence Codec)]
- (collection [list ("list/" Monad)]
- ["d" dictionary]))))
+ [lux #*
+ [control
+ monad
+ [equivalence (#+ Equivalence)]
+ codec
+ ["p" parser ("parser/" Monad)]
+ ["ex" exception (#+ exception:)]]
+ [data
+ [text ("text/" Equivalence Monoid)
+ ["l" lexer]]
+ [number]
+ ["E" error]
+ [product]
+ [ident ("ident/" Equivalence Codec)]
+ [collection
+ [list ("list/" Monad)]
+ ["d" dictionary]]]])
(type: #export Tag Ident)
(type: #export Attrs (d.Dictionary Ident Text))
diff --git a/stdlib/source/lux/data/ident.lux b/stdlib/source/lux/data/ident.lux
index ce2c08042..545b22a65 100644
--- a/stdlib/source/lux/data/ident.lux
+++ b/stdlib/source/lux/data/ident.lux
@@ -1,9 +1,10 @@
(.module:
- lux
- (lux (control [equivalence (#+ Equivalence)]
- [codec (#+ Codec)]
- hash)
- (data [text ("text/" Monoid Equivalence)])))
+ [lux #*
+ [control
+ [equivalence (#+ Equivalence)]
+ [codec (#+ Codec)]
+ hash]
+ [data [text ("text/" Monoid Equivalence)]]])
## [Types]
## (type: Ident
diff --git a/stdlib/source/lux/data/identity.lux b/stdlib/source/lux/data/identity.lux
index 969b89e4d..7a41cb69f 100644
--- a/stdlib/source/lux/data/identity.lux
+++ b/stdlib/source/lux/data/identity.lux
@@ -1,9 +1,10 @@
(.module:
- lux
- (lux/control ["F" functor]
- ["A" apply]
- (monad #as M #refer #all)
- (comonad #as CM #refer #all)))
+ [lux #*
+ [control
+ ["F" functor]
+ ["A" apply]
+ ["M" monad #*]
+ ["CM" comonad #*]]])
## [Types]
(type: #export (Identity a)
diff --git a/stdlib/source/lux/data/lazy.lux b/stdlib/source/lux/data/lazy.lux
index efe202e21..df48114d8 100644
--- a/stdlib/source/lux/data/lazy.lux
+++ b/stdlib/source/lux/data/lazy.lux
@@ -1,13 +1,14 @@
(.module:
- lux
- (lux [io]
- (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ Monad do)])
- (concurrency [atom])
- [macro (#+ with-gensyms)]
- (macro ["s" syntax (#+ syntax:)])
- (type abstract)))
+ [lux #*
+ [io]
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ Monad do)]]
+ [concurrency [atom]]
+ [macro (#+ with-gensyms)
+ ["s" syntax (#+ syntax:)]]
+ [type abstract]])
(abstract: #export (Lazy a)
(-> [] a)
diff --git a/stdlib/source/lux/data/maybe.lux b/stdlib/source/lux/data/maybe.lux
index c3da0c2a9..90712968b 100644
--- a/stdlib/source/lux/data/maybe.lux
+++ b/stdlib/source/lux/data/maybe.lux
@@ -1,10 +1,11 @@
(.module:
- lux
- (lux (control ["m" monoid]
- ["F" functor]
- ["A" apply]
- [monad (#+ do Monad)]
- [equivalence (#+ Equivalence)])))
+ [lux #*
+ [control
+ ["m" monoid]
+ ["F" functor]
+ ["A" apply]
+ [monad (#+ do Monad)]
+ [equivalence (#+ Equivalence)]]])
## [Types]
## (type: (Maybe a)
diff --git a/stdlib/source/lux/data/number.lux b/stdlib/source/lux/data/number.lux
index d598fbe41..615565c16 100644
--- a/stdlib/source/lux/data/number.lux
+++ b/stdlib/source/lux/data/number.lux
@@ -1,16 +1,18 @@
(.module: {#.doc "Implementations of common structures for Lux's primitive number types."}
- lux
- (lux (control number
- [monoid (#+ Monoid)]
- [equivalence (#+ Equivalence)]
- hash
- [order]
- enum
- interval
- [codec (#+ Codec)])
- (data ["e" error]
- [maybe]
- [bit])))
+ [lux #*
+ [control
+ number
+ [monoid (#+ Monoid)]
+ [equivalence (#+ Equivalence)]
+ hash
+ [order]
+ enum
+ interval
+ [codec (#+ Codec)]]
+ [data
+ ["e" error]
+ [maybe]
+ [bit]]])
## [Structures]
(do-template [ ]
diff --git a/stdlib/source/lux/data/number/complex.lux b/stdlib/source/lux/data/number/complex.lux
index 58818de8c..134801015 100644
--- a/stdlib/source/lux/data/number/complex.lux
+++ b/stdlib/source/lux/data/number/complex.lux
@@ -1,18 +1,20 @@
(.module: {#.doc "Complex arithmetic."}
- lux
- (lux [math]
- (control [equivalence (#+ Equivalence)]
- number
- codec
- ["M" monad (#+ do Monad)]
- ["p" parser])
- (data [number ("frac/" Number)]
- [text ("text/" Monoid)]
- [maybe]
- (collection [list ("list/" Functor)]))
- [macro]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])))
+ [lux #*
+ [math]
+ [control
+ [equivalence (#+ Equivalence)]
+ number
+ codec
+ ["M" monad (#+ do Monad)]
+ ["p" parser]]
+ [data
+ [number ("frac/" Number)]
+ [text ("text/" Monoid)]
+ [maybe]
+ [collection [list ("list/" Functor)]]]
+ ["." macro
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]])
(type: #export Complex
{#real Frac
diff --git a/stdlib/source/lux/data/number/ratio.lux b/stdlib/source/lux/data/number/ratio.lux
index b364dec92..b1aed0cba 100644
--- a/stdlib/source/lux/data/number/ratio.lux
+++ b/stdlib/source/lux/data/number/ratio.lux
@@ -1,21 +1,23 @@
(.module: {#.doc "Rational arithmetic."}
- lux
- (lux [math]
- (control [equivalence (#+ Equivalence)]
- [order]
- number
- codec
- monad
- ["p" parser])
- (data [number ("nat/" Codec)]
- [text ("text/" Monoid)]
- text/format
- ["E" error]
- [product]
- [maybe])
- [macro]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])))
+ [lux #*
+ [math]
+ [control
+ [equivalence (#+ Equivalence)]
+ [order]
+ number
+ codec
+ monad
+ ["p" parser]]
+ [data
+ [number ("nat/" Codec)]
+ [text ("text/" Monoid)
+ format]
+ ["E" error]
+ [product]
+ [maybe]]
+ ["." macro
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]])
(type: #export Ratio
{#numerator Nat
diff --git a/stdlib/source/lux/data/store.lux b/stdlib/source/lux/data/store.lux
index 96e4988b3..c1b974840 100644
--- a/stdlib/source/lux/data/store.lux
+++ b/stdlib/source/lux/data/store.lux
@@ -1,8 +1,9 @@
(.module:
- lux
- (lux (control ["F" functor]
- comonad)
- (type implicit)))
+ [lux #*
+ [control
+ ["F" functor]
+ comonad]
+ [type implicit]])
(type: #export (Store s a)
{#cursor s
diff --git a/stdlib/source/lux/data/tainted.lux b/stdlib/source/lux/data/tainted.lux
index b3f883fdf..903b777d6 100644
--- a/stdlib/source/lux/data/tainted.lux
+++ b/stdlib/source/lux/data/tainted.lux
@@ -1,7 +1,9 @@
(.module:
- lux
- (lux (data [product])
- (type abstract)))
+ [lux #*
+ [data
+ [product]]
+ [type
+ abstract]])
(abstract: #export (Tainted a)
a
diff --git a/stdlib/source/lux/data/text.lux b/stdlib/source/lux/data/text.lux
index 3ceceb171..a7fbd8a18 100644
--- a/stdlib/source/lux/data/text.lux
+++ b/stdlib/source/lux/data/text.lux
@@ -1,13 +1,15 @@
(.module:
- lux
- (lux (control [monoid (#+ Monoid)]
- [equivalence (#+ Equivalence)]
- [order]
- [monad (#+ do Monad)]
- [codec (#+ Codec)]
- hash)
- (data (collection [list])
- [maybe])))
+ [lux #*
+ [control
+ [monoid (#+ Monoid)]
+ [equivalence (#+ Equivalence)]
+ [order]
+ [monad (#+ do Monad)]
+ [codec (#+ Codec)]
+ hash]
+ [data
+ [collection [list]]
+ [maybe]]])
## [Functions]
(def: #export (size x)
diff --git a/stdlib/source/lux/data/text/buffer.lux b/stdlib/source/lux/data/text/buffer.lux
index 5b8f8e56e..33708932e 100644
--- a/stdlib/source/lux/data/text/buffer.lux
+++ b/stdlib/source/lux/data/text/buffer.lux
@@ -1,11 +1,14 @@
(.module:
- lux
- (lux (data [product]
- text/format
- (collection [row (#+ Row) ("row/" Fold)]))
- (language ["_" host])
- (type abstract)
- [host (#+ import:)])
+ [lux #*
+ [data
+ [product]
+ [text format]
+ [collection [row (#+ Row) ("row/" Fold)]]]
+ [language
+ ["_" host]]
+ [type
+ abstract]
+ [host (#+ import:)]]
[//])
(`` (for {(~~ (static _.jvm))
diff --git a/stdlib/source/lux/data/text/encoding.lux b/stdlib/source/lux/data/text/encoding.lux
index 7442faa68..2ea8e4a76 100644
--- a/stdlib/source/lux/data/text/encoding.lux
+++ b/stdlib/source/lux/data/text/encoding.lux
@@ -1,9 +1,9 @@
(.module:
- lux
- (lux (data [error (#+ Error)])
- (world [blob (#+ Blob)])
- (language ["_" host])
- [host (#+ import:)]))
+ [lux #*
+ [data [error (#+ Error)]]
+ [world [blob (#+ Blob)]]
+ [language ["_" host]]
+ [host (#+ import:)]])
(`` (for {(~~ (static _.jvm))
(as-is (def: utf8 Text "UTF-8")
diff --git a/stdlib/source/lux/data/text/format.lux b/stdlib/source/lux/data/text/format.lux
index 977592479..d32862024 100644
--- a/stdlib/source/lux/data/text/format.lux
+++ b/stdlib/source/lux/data/text/format.lux
@@ -1,23 +1,27 @@
(.module:
- lux
- (lux (control [monad (#+ do Monad)]
- ["p" parser])
- (data [bool]
- [number]
- [text]
- [ident]
- (collection [list ("list/" Monad)])
- (format [xml]
- [json]))
- (time [instant]
- [duration]
- [date])
- (math [modular])
- [macro]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])
- (language [type])
- ))
+ [lux #*
+ [control
+ [monad (#+ do Monad)]
+ ["p" parser]]
+ [data
+ [bool]
+ [number]
+ [text]
+ [ident]
+ [collection [list ("list/" Monad)]]
+ [format
+ [xml]
+ [json]]]
+ [time
+ [instant]
+ [duration]
+ [date]]
+ [math [modular]]
+ ["." macro
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]
+ [language [type]]
+ ])
## [Syntax]
(syntax: #export (format {fragments (p.many s.any)})
diff --git a/stdlib/source/lux/data/text/lexer.lux b/stdlib/source/lux/data/text/lexer.lux
index c45361800..13c49ef8f 100644
--- a/stdlib/source/lux/data/text/lexer.lux
+++ b/stdlib/source/lux/data/text/lexer.lux
@@ -1,13 +1,15 @@
(.module:
- [lux (#- not)]
- (lux (control [monad (#+ do Monad)]
- ["p" parser])
- (data [text ("text/" Monoid)]
- [product]
- [maybe]
- ["e" error]
- (collection [list]))
- (macro [code])))
+ [lux (#- not)
+ [control
+ [monad (#+ do Monad)]
+ ["p" parser]]
+ [data
+ [text ("text/" Monoid)]
+ [product]
+ [maybe]
+ ["e" error]
+ [collection [list]]]
+ [macro [code]]])
(type: Offset Nat)
diff --git a/stdlib/source/lux/data/text/regex.lux b/stdlib/source/lux/data/text/regex.lux
index 6a71ca24d..8b35b770c 100644
--- a/stdlib/source/lux/data/text/regex.lux
+++ b/stdlib/source/lux/data/text/regex.lux
@@ -1,18 +1,20 @@
(.module:
- lux
- (lux (control monad
- ["p" parser ("parser/" Monad)])
- (data [text]
- ["l" text/lexer]
- text/format
- [number ("int/" Codec)]
- [product]
- ["e" error]
- [maybe]
- (collection [list ("list/" Fold Monad)]))
- [macro (#+ with-gensyms)]
- (macro [code]
- ["s" syntax (#+ syntax:)])))
+ [lux #*
+ [control
+ monad
+ ["p" parser ("parser/" Monad)]]
+ [data
+ [number ("int/" Codec)]
+ [product]
+ ["e" error]
+ [maybe]
+ ["." text
+ ["l" lexer]
+ format]
+ [collection [list ("list/" Fold Monad)]]]
+ [macro (#+ with-gensyms)
+ [code]
+ ["s" syntax (#+ syntax:)]]])
## [Utils]
(def: regex-char^
diff --git a/stdlib/source/lux/data/text/unicode.lux b/stdlib/source/lux/data/text/unicode.lux
index 5c946c84f..10b9692ee 100644
--- a/stdlib/source/lux/data/text/unicode.lux
+++ b/stdlib/source/lux/data/text/unicode.lux
@@ -1,11 +1,14 @@
(.module:
- lux
- (lux (control [interval (#+ Interval)]
- [monoid (#+ Monoid)])
- (data [number (#+ hex) ("nat/" Interval)]
- (collection [list]
- (tree [finger (#+ Tree)])))
- (type abstract)))
+ [lux #*
+ [control
+ [interval (#+ Interval)]
+ [monoid (#+ Monoid)]]
+ [data
+ [number (#+ hex) ("nat/" Interval)]
+ [collection
+ [list]
+ [tree [finger (#+ Tree)]]]]
+ [type abstract]])
(type: #export Char Nat)
diff --git a/stdlib/source/lux/data/trace.lux b/stdlib/source/lux/data/trace.lux
index f86219be7..a0c366199 100644
--- a/stdlib/source/lux/data/trace.lux
+++ b/stdlib/source/lux/data/trace.lux
@@ -1,9 +1,10 @@
(.module:
- lux
- (lux (control [monoid (#+ Monoid)]
- [functor (#+ Functor)]
- comonad)
- function))
+ [lux #*
+ [control
+ [monoid (#+ Monoid)]
+ [functor (#+ Functor)]
+ comonad]
+ function])
(type: #export (Trace t a)
{#monoid (Monoid t)
diff --git a/stdlib/source/lux/function.lux b/stdlib/source/lux/function.lux
index a492b3a44..f883e36df 100644
--- a/stdlib/source/lux/function.lux
+++ b/stdlib/source/lux/function.lux
@@ -1,6 +1,6 @@
(.module:
- lux
- (lux (control [monoid (#+ Monoid)])))
+ [lux #*
+ [control [monoid (#+ Monoid)]]])
(def: #export (compose f g)
{#.doc "Function composition."}
diff --git a/stdlib/source/lux/host.js.lux b/stdlib/source/lux/host.js.lux
index a9a486e29..b3758e3b5 100644
--- a/stdlib/source/lux/host.js.lux
+++ b/stdlib/source/lux/host.js.lux
@@ -1,12 +1,13 @@
(.module:
- lux
- (lux (control monad
- ["p" parser])
- (data (collection [list #* ("list/" Fold)]))
- [macro (#+ with-gensyms)]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])
- ))
+ [lux (#+)
+ [control
+ monad
+ ["p" parser]]
+ [data [collection [list #* ("list/" Fold)]]]
+ [macro (#+ with-gensyms)
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]
+ ])
(do-template [ ]
[(type: #export (#.Primitive #.Nil))]
diff --git a/stdlib/source/lux/host.jvm.lux b/stdlib/source/lux/host.jvm.lux
index 50ac06f0b..8639ea2c5 100644
--- a/stdlib/source/lux/host.jvm.lux
+++ b/stdlib/source/lux/host.jvm.lux
@@ -1,22 +1,24 @@
(.module:
- [lux (#- type)]
- (lux (control [monad (#+ do Monad)]
- [enum]
- ["p" parser])
- [io (#+ IO Monad io)]
- function
- (data (collection [list ("list/" Monad Fold Monoid)])
- number
- [maybe]
- [product]
- [text ("text/" Equivalence Monoid)]
- text/format
- [bool ("bool/" Codec)])
- [macro (#+ with-gensyms Functor Monad)]
- (macro [code]
- ["s" syntax (#+ syntax: Syntax)])
- (language [type ("type/" Equivalence)])
- ))
+ [lux (#- type)
+ [control
+ [monad (#+ do Monad)]
+ [enum]
+ ["p" parser]]
+ [io (#+ IO Monad io)]
+ function
+ [data
+ [collection [list ("list/" Monad Fold Monoid)]]
+ number
+ [maybe]
+ [product]
+ [text ("text/" Equivalence Monoid)
+ format]
+ [bool ("bool/" Codec)]]
+ [macro (#+ with-gensyms Functor Monad)
+ [code]
+ ["s" syntax (#+ syntax: Syntax)]]
+ [language [type ("type/" Equivalence)]]
+ ])
(do-template [ ]
[(def: #export ( value)
diff --git a/stdlib/source/lux/io.lux b/stdlib/source/lux/io.lux
index 7d8ed09ad..5ccd6788d 100644
--- a/stdlib/source/lux/io.lux
+++ b/stdlib/source/lux/io.lux
@@ -1,11 +1,13 @@
(.module: {#.doc "A method for abstracting I/O and effectful computations to make it safe while writing pure functional code."}
- lux
- (lux (control [functor (#+ Functor)]
- [apply (#+ Apply)]
- [monad (#+ do Monad)]
- ["ex" exception (#+ Exception)])
- (data ["e" error (#+ Error)]
- (collection [list]))))
+ [lux #*
+ [control
+ [functor (#+ Functor)]
+ [apply (#+ Apply)]
+ [monad (#+ do Monad)]
+ ["ex" exception (#+ Exception)]]
+ [data
+ ["e" error (#+ Error)]
+ [collection [list]]]])
(type: #export (IO a)
{#.doc "A type that represents synchronous, effectful computations that may interact with the outside world."}
diff --git a/stdlib/source/lux/language/compiler.lux b/stdlib/source/lux/language/compiler.lux
index db2010e7f..d8b622c31 100644
--- a/stdlib/source/lux/language/compiler.lux
+++ b/stdlib/source/lux/language/compiler.lux
@@ -1,14 +1,16 @@
(.module:
- lux
- (lux (control [state]
- ["ex" exception (#+ Exception exception:)]
- [monad (#+ do)])
- (data [product]
- [error (#+ Error)]
- [text]
- text/format)
- [function]
- (macro ["s" syntax (#+ syntax:)])))
+ [lux #*
+ [control
+ [state]
+ ["ex" exception (#+ Exception exception:)]
+ [monad (#+ do)]]
+ [data
+ [product]
+ [error (#+ Error)]
+ ["." text
+ format]]
+ [function]
+ [macro ["s" syntax (#+ syntax:)]]])
(type: #export (Operation s o)
(state.State' Error s o))
diff --git a/stdlib/source/lux/language/compiler/analysis.lux b/stdlib/source/lux/language/compiler/analysis.lux
index c8dd643de..6956cd0b4 100644
--- a/stdlib/source/lux/language/compiler/analysis.lux
+++ b/stdlib/source/lux/language/compiler/analysis.lux
@@ -1,10 +1,11 @@
(.module:
- [lux (#- nat int rev)]
- (lux (data [product]
- [error]
- [text ("text/" Equivalence)]
- (collection [list ("list/" Fold)]))
- [function])
+ [lux (#- nat int rev)
+ [data
+ [product]
+ [error]
+ [text ("text/" Equivalence)]
+ [collection [list ("list/" Fold)]]]
+ [function]]
[///reference (#+ Register Variable Reference)]
[//])
diff --git a/stdlib/source/lux/language/compiler/analysis/case.lux b/stdlib/source/lux/language/compiler/analysis/case.lux
index 6644fdabe..d1ef6ece1 100644
--- a/stdlib/source/lux/language/compiler/analysis/case.lux
+++ b/stdlib/source/lux/language/compiler/analysis/case.lux
@@ -1,17 +1,21 @@
(.module:
- [lux (#- case)]
- (lux (control [monad (#+ do)]
- ["ex" exception (#+ exception:)])
- (data [product]
- [error]
- [maybe]
- text/format
- (collection [list ("list/" Fold Monoid Functor)]))
- [macro]
- (macro [code]))
- (//// [type]
- (type ["tc" check])
- [scope])
+ [lux (#- case)
+ [control
+ [monad (#+ do)]
+ ["ex" exception (#+ exception:)]]
+ [data
+ [product]
+ [error]
+ [maybe]
+ [text
+ format]
+ [collection [list ("list/" Fold Monoid Functor)]]]
+ ["." macro
+ [code]]]
+ [////
+ ["." type
+ ["tc" check]]
+ [scope]]
[///]
[// (#+ Pattern Analysis Operation Compiler)]
[//type]
diff --git a/stdlib/source/lux/language/compiler/analysis/case/coverage.lux b/stdlib/source/lux/language/compiler/analysis/case/coverage.lux
index c01a7303a..bce8512e5 100644
--- a/stdlib/source/lux/language/compiler/analysis/case/coverage.lux
+++ b/stdlib/source/lux/language/compiler/analysis/case/coverage.lux
@@ -1,15 +1,18 @@
(.module:
- lux
- (lux (control [monad (#+ do)]
- ["ex" exception (#+ exception:)]
- equivalence)
- (data [bool ("bool/" Equivalence)]
- [number]
- ["e" error ("error/" Monad)]
- [maybe]
- text/format
- (collection [list ("list/" Fold)]
- ["dict" dictionary (#+ Dictionary)])))
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["ex" exception (#+ exception:)]
+ equivalence]
+ [data
+ [bool ("bool/" Equivalence)]
+ [number]
+ ["e" error ("error/" Monad)]
+ [maybe]
+ [text format]
+ [collection
+ [list ("list/" Fold)]
+ ["dict" dictionary (#+ Dictionary)]]]]
[//// ("operation/" Monad)]
[/// (#+ Pattern Variant Operation)])
diff --git a/stdlib/source/lux/language/compiler/analysis/expression.lux b/stdlib/source/lux/language/compiler/analysis/expression.lux
index f9a44f2f2..f6ec5d11a 100644
--- a/stdlib/source/lux/language/compiler/analysis/expression.lux
+++ b/stdlib/source/lux/language/compiler/analysis/expression.lux
@@ -1,14 +1,18 @@
(.module:
- lux
- (lux (control [monad (#+ do)]
- ["ex" exception (#+ exception:)])
- (data ["e" error]
- [product]
- text/format)
- [macro])
- [//// (#+ Eval)]
- ## (//// [".L" macro]
- ## [".L" extension])
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["ex" exception (#+ exception:)]]
+ [data
+ ["e" error]
+ [product]
+ [text
+ format]]
+ [macro]]
+ [//// (#+ Eval)
+ ## [".L" macro]
+ ## [".L" extension]
+ ]
[///]
[// (#+ Analysis Operation Compiler)]
[//type]
diff --git a/stdlib/source/lux/language/compiler/analysis/function.lux b/stdlib/source/lux/language/compiler/analysis/function.lux
index 833e32eaf..95eacc47e 100644
--- a/stdlib/source/lux/language/compiler/analysis/function.lux
+++ b/stdlib/source/lux/language/compiler/analysis/function.lux
@@ -1,16 +1,19 @@
(.module:
- [lux (#- function)]
- (lux (control monad
- ["ex" exception (#+ exception:)])
- (data [maybe]
- [text]
- text/format
- (collection [list ("list/" Fold Monoid Monad)]))
- [macro]
- (macro [code])
- (language [type]
- (type ["tc" check])
- [".L" scope]))
+ [lux (#- function)
+ [control
+ monad
+ ["ex" exception (#+ exception:)]]
+ [data
+ [maybe]
+ ["." text
+ format]
+ [collection [list ("list/" Fold Monoid Monad)]]]
+ ["." macro
+ [code]]
+ [language
+ ["." type
+ ["tc" check]]
+ [".L" scope]]]
[///]
[// (#+ Analysis Compiler)]
[//type]
diff --git a/stdlib/source/lux/language/compiler/analysis/inference.lux b/stdlib/source/lux/language/compiler/analysis/inference.lux
index 187b6bb5c..1539e1a0d 100644
--- a/stdlib/source/lux/language/compiler/analysis/inference.lux
+++ b/stdlib/source/lux/language/compiler/analysis/inference.lux
@@ -1,14 +1,16 @@
(.module:
- lux
- (lux (control [monad (#+ do)]
- ["ex" exception (#+ exception:)])
- (data [maybe]
- [text]
- text/format
- (collection [list ("list/" Functor)]))
- [macro])
- (//// [type]
- (type ["tc" check]))
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["ex" exception (#+ exception:)]]
+ [data
+ [maybe]
+ ["." text
+ format]
+ [collection [list ("list/" Functor)]]]
+ [macro]]
+ [//// ["." type
+ ["tc" check]]]
[/// ("operation/" Monad)]
[// (#+ Tag Analysis Operation Compiler)]
[//type])
diff --git a/stdlib/source/lux/language/compiler/analysis/primitive.lux b/stdlib/source/lux/language/compiler/analysis/primitive.lux
index 5fa4c1ba1..cbfef367f 100644
--- a/stdlib/source/lux/language/compiler/analysis/primitive.lux
+++ b/stdlib/source/lux/language/compiler/analysis/primitive.lux
@@ -1,9 +1,9 @@
(.module:
- [lux (#- nat int rev)]
- (lux (control monad)
- [macro])
- [// (#+ Analysis)]
- (// [".A" type]))
+ [lux (#- nat int rev)
+ [control monad]
+ [macro]]
+ [// (#+ Analysis)
+ [".A" type]])
## [Analysers]
(do-template [ ]
diff --git a/stdlib/source/lux/language/compiler/analysis/reference.lux b/stdlib/source/lux/language/compiler/analysis/reference.lux
index 4e73c410f..cdffd6870 100644
--- a/stdlib/source/lux/language/compiler/analysis/reference.lux
+++ b/stdlib/source/lux/language/compiler/analysis/reference.lux
@@ -1,12 +1,14 @@
(.module:
- lux
- (lux (control monad
- ["ex" exception (#+ exception:)])
- [macro]
- (macro [code])
- (language (type ["tc" check]))
- (data [text ("text/" Equivalence)]
- text/format))
+ [lux #*
+ [control
+ monad
+ ["ex" exception (#+ exception:)]]
+ ["." macro
+ [code]]
+ [language [type ["tc" check]]]
+ [data
+ [text ("text/" Equivalence)
+ format]]]
[///]
[// (#+ Analysis Operation)]
[//type]
diff --git a/stdlib/source/lux/language/compiler/analysis/structure.lux b/stdlib/source/lux/language/compiler/analysis/structure.lux
index 53ccecd50..e30d22bad 100644
--- a/stdlib/source/lux/language/compiler/analysis/structure.lux
+++ b/stdlib/source/lux/language/compiler/analysis/structure.lux
@@ -1,18 +1,21 @@
(.module:
- lux
- (lux (control [monad (#+ do)]
- ["ex" exception (#+ exception:)])
- (data [ident]
- [number]
- [product]
- [maybe]
- (collection [list ("list/" Functor)]
- ["dict" dictionary (#+ Dictionary)])
- text/format)
- [macro]
- (macro [code]))
- (//// [type]
- (type ["tc" check]))
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["ex" exception (#+ exception:)]]
+ [data
+ [ident]
+ [number]
+ [product]
+ [maybe]
+ [text format]
+ [collection [list ("list/" Functor)]
+ ["dict" dictionary (#+ Dictionary)]]]
+ ["." macro
+ [code]]]
+ [////
+ ["." type
+ ["tc" check]]]
[///]
[// (#+ Tag Analysis Operation Compiler)]
[//type]
diff --git a/stdlib/source/lux/language/compiler/analysis/type.lux b/stdlib/source/lux/language/compiler/analysis/type.lux
index 821da5557..0c73dedab 100644
--- a/stdlib/source/lux/language/compiler/analysis/type.lux
+++ b/stdlib/source/lux/language/compiler/analysis/type.lux
@@ -1,9 +1,9 @@
(.module:
- lux
- (lux (control [monad (#+ do)])
- (data [error])
- [macro]
- (language (type ["tc" check])))
+ [lux #*
+ [control [monad (#+ do)]]
+ [data [error]]
+ [macro]
+ [language [type ["tc" check]]]]
[///]
[// (#+ Operation)])
diff --git a/stdlib/source/lux/language/compiler/default/cache.lux b/stdlib/source/lux/language/compiler/default/cache.lux
index 42b13ba86..f41cd0792 100644
--- a/stdlib/source/lux/language/compiler/default/cache.lux
+++ b/stdlib/source/lux/language/compiler/default/cache.lux
@@ -1,6 +1,6 @@
(.module:
- lux
- (lux (data (format [binary (#+ Binary)]))))
+ [lux #*
+ [data [format [binary (#+ Binary)]]]])
(def: definition
(Binary Definition)
diff --git a/stdlib/source/lux/language/compiler/default/repl/type.lux b/stdlib/source/lux/language/compiler/default/repl/type.lux
index 30131d159..a9342ab6a 100644
--- a/stdlib/source/lux/language/compiler/default/repl/type.lux
+++ b/stdlib/source/lux/language/compiler/default/repl/type.lux
@@ -1,22 +1,27 @@
(.module:
- lux
- (lux (control [monad (#+ do)]
- ["ex" exception (#+ exception:)]
- ["p" parser]
- pipe)
- (data [error (#+ Error)]
- text/format
- (format [xml (#+ XML)]
- [json (#+ JSON)])
- (collection [list]))
- (time [instant (#+ Instant)]
- [duration (#+ Duration)]
- [date (#+ Date)])
- [function]
- [macro]
- (macro [code]
- [poly (#+ Poly)])
- (language [type])))
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["ex" exception (#+ exception:)]
+ ["p" parser]
+ pipe]
+ [data
+ [error (#+ Error)]
+ [text
+ format]
+ [format
+ [xml (#+ XML)]
+ [json (#+ JSON)]]
+ [collection [list]]]
+ [time
+ [instant (#+ Instant)]
+ [duration (#+ Duration)]
+ [date (#+ Date)]]
+ [function]
+ ["." macro
+ [code]
+ [poly (#+ Poly)]]
+ [language [type]]])
(exception: #export (cannot-represent-value {type Type})
(ex.report ["Type" (%type type)]))
diff --git a/stdlib/source/lux/language/compiler/extension.lux b/stdlib/source/lux/language/compiler/extension.lux
index 91b48dfb7..478c90564 100644
--- a/stdlib/source/lux/language/compiler/extension.lux
+++ b/stdlib/source/lux/language/compiler/extension.lux
@@ -1,10 +1,12 @@
(.module:
- lux
- (lux (control [monad (#+ do)]
- ["ex" exception (#+ exception:)])
- (data [error (#+ Error)]
- [text]
- (collection ["dict" dictionary (#+ Dictionary)])))
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["ex" exception (#+ exception:)]]
+ [data
+ [error (#+ Error)]
+ [text]
+ [collection ["dict" dictionary (#+ Dictionary)]]]]
[// (#+ Operation Compiler)])
(type: #export (Extension i)
diff --git a/stdlib/source/lux/language/compiler/extension/analysis.lux b/stdlib/source/lux/language/compiler/extension/analysis.lux
index a34dcae77..ba37b4578 100644
--- a/stdlib/source/lux/language/compiler/extension/analysis.lux
+++ b/stdlib/source/lux/language/compiler/extension/analysis.lux
@@ -1,8 +1,10 @@
(.module:
- lux
- (lux (data [text]
- (collection [list ("list/" Functor)]
- ["dict" dictionary (#+ Dictionary)])))
+ [lux #*
+ [data
+ [text]
+ [collection
+ [list ("list/" Functor)]
+ ["dict" dictionary (#+ Dictionary)]]]]
[///analysis (#+ Analysis State)]
[///synthesis (#+ Synthesis)]
[//]
diff --git a/stdlib/source/lux/language/compiler/extension/analysis/common.lux b/stdlib/source/lux/language/compiler/extension/analysis/common.lux
index c099a9648..66189cec8 100644
--- a/stdlib/source/lux/language/compiler/extension/analysis/common.lux
+++ b/stdlib/source/lux/language/compiler/extension/analysis/common.lux
@@ -1,22 +1,26 @@
(.module:
- lux
- (lux (control [monad (#+ do)]
- ["ex" exception (#+ exception:)]
- [thread (#+ Box)])
- (concurrency [atom (#+ Atom)])
- (data [text]
- text/format
- (collection [list ("list/" Functor)]
- [array]
- ["dict" dictionary (#+ Dictionary)]))
- [language]
- (language (type ["tc" check]))
- [io (#+ IO)])
+ [lux #*
+ [control
+ [monad (#+ do)]
+ ["ex" exception (#+ exception:)]
+ [thread (#+ Box)]]
+ [concurrency [atom (#+ Atom)]]
+ [data
+ ["." text
+ format]
+ [collection
+ [list ("list/" Functor)]
+ [array]
+ ["dict" dictionary (#+ Dictionary)]]]
+ ["." language
+ [type ["tc" check]]]
+ [io (#+ IO)]]
[////]
- (//// [analysis (#+ Analysis)]
- (analysis [".A" type]
- [".A" case]
- [".A" function]))
+ [////
+ [analysis (#+ Analysis)
+ [".A" type]
+ [".A" case]
+ [".A" function]]]
[///]
[///bundle])
diff --git a/stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux b/stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux
index 1985706c2..e13b32c08 100644
--- a/stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux
+++ b/stdlib/source/lux/language/compiler/extension/analysis/host.jvm.lux
@@ -1,29 +1,33 @@
(.module:
- [lux (#- char int)]
- (lux (control [monad (#+ do)]
- ["p" parser]
- ["ex" exception (#+ exception:)])
- (data ["e" error]
- [maybe]
- [product]
- [bool ("bool/" Equivalence)]
- [text ("text/" Equivalence)]
- (text format
- ["l" lexer])
- (collection [list ("list/" Fold Functor Monoid