diff options
author | Eduardo Julian | 2021-08-07 02:20:09 -0400 |
---|---|---|
committer | Eduardo Julian | 2021-08-07 02:20:09 -0400 |
commit | 17e7566be51df5e428a6b10e6469201a8a9468da (patch) | |
tree | 0d4ed80c9c9d846784b5bf460f6e6f5fc5b96663 /stdlib/source/program | |
parent | eff4c59794868b89d60fdc411f9b544a270b817e (diff) |
Made the be/de macros for (co)monadic expression extensible.
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/program/aedifex.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/auto.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/build.lux | 8 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/clean.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/deploy.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/deps.lux | 6 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/install.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/test.lux | 6 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/dependency/deployment.lux | 4 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/dependency/resolution.lux | 10 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/format.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/parser.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/pom.lux | 12 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/repository/local.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/compositor.lux | 6 | ||||
-rw-r--r-- | stdlib/source/program/compositor/import.lux | 2 | ||||
-rw-r--r-- | stdlib/source/program/scriptum.lux | 64 |
17 files changed, 67 insertions, 67 deletions
diff --git a/stdlib/source/program/aedifex.lux b/stdlib/source/program/aedifex.lux index 060f38855..e6dae7bbc 100644 --- a/stdlib/source/program/aedifex.lux +++ b/stdlib/source/program/aedifex.lux @@ -67,7 +67,7 @@ (def: repositories (-> /.Profile (List (Repository Async))) (|>> (get@ #/.repositories) - set.to_list + set.list (list\map (|>> (/repository/remote.repository http.default #.None) /repository.async)))) (def: (with_dependencies program console command profile) diff --git a/stdlib/source/program/aedifex/command/auto.lux b/stdlib/source/program/aedifex/command/auto.lux index 975ee26ba..f4e2ab18f 100644 --- a/stdlib/source/program/aedifex/command/auto.lux +++ b/stdlib/source/program/aedifex/command/auto.lux @@ -54,7 +54,7 @@ (do {! async.monad} [targets (|> profile (get@ #///.sources) - set.to_list + set.list (monad.map ! (..targets fs)) (\ ! map list.concat))] (do {! ///action.monad} diff --git a/stdlib/source/program/aedifex/command/build.lux b/stdlib/source/program/aedifex/command/build.lux index 00791f787..23429f123 100644 --- a/stdlib/source/program/aedifex/command/build.lux +++ b/stdlib/source/program/aedifex/command/build.lux @@ -271,11 +271,11 @@ (#.Some program_module) (do async.monad [environment (program.environment async.monad program) - #let [home (\ program home) + .let [home (\ program home) working_directory (\ program directory)]] (do ///action.monad [[resolution compiler] (async\in (..compiler resolution (get@ #///.compiler profile))) - #let [host_dependencies (..host_dependencies fs home resolution) + .let [host_dependencies (..host_dependencies fs home resolution) [[command compiler_params] output] (case compiler (#JVM dependency) [(|> (..path fs home dependency) @@ -295,11 +295,11 @@ / (\ fs separator) cache_directory (format working_directory / target)] _ (console.write_line ..start console) - #let [full_parameters (list.concat (list compiler_params + .let [full_parameters (list.concat (list compiler_params (list "build") (..plural "--library" (..libraries fs home resolution)) (..plural "--host_dependency" host_dependencies) - (..plural "--source" (set.to_list (get@ #///.sources profile))) + (..plural "--source" (set.list (get@ #///.sources profile))) (..singular "--target" cache_directory) (..singular "--module" program_module)))] process (\ shell execute [environment diff --git a/stdlib/source/program/aedifex/command/clean.lux b/stdlib/source/program/aedifex/command/clean.lux index c7443beb6..c03a09b49 100644 --- a/stdlib/source/program/aedifex/command/clean.lux +++ b/stdlib/source/program/aedifex/command/clean.lux @@ -33,7 +33,7 @@ (def: #export (do! console fs profile) (-> (Console Async) (file.System Async) (Command Any)) (do {! async.monad} - [#let [target (get@ #///.target profile)] + [.let [target (get@ #///.target profile)] ? (\ fs directory? target) _ (let [! ///action.monad] (if ? diff --git a/stdlib/source/program/aedifex/command/deploy.lux b/stdlib/source/program/aedifex/command/deploy.lux index 9e74a53a5..b7b08f517 100644 --- a/stdlib/source/program/aedifex/command/deploy.lux +++ b/stdlib/source/program/aedifex/command/deploy.lux @@ -61,7 +61,7 @@ (do {! ///action.monad} [library (|> profile (get@ #/.sources) - set.to_list + set.list (export.library fs) (\ ! map (binary.run tar.writer))) pom (\ async.monad in (///pom.write profile)) diff --git a/stdlib/source/program/aedifex/command/deps.lux b/stdlib/source/program/aedifex/command/deps.lux index 3d26a042b..342c9c0bc 100644 --- a/stdlib/source/program/aedifex/command/deps.lux +++ b/stdlib/source/program/aedifex/command/deps.lux @@ -40,8 +40,8 @@ (def: #export (do! console local remotes new_repository profile) (-> (Console Async) (Repository Async) (List (Repository Async)) (-> URL (Repository Async)) (Command Resolution)) (do async.monad - [#let [dependencies (|> (get@ #///.dependencies profile) - set.to_list + [.let [dependencies (|> (get@ #///.dependencies profile) + set.list (#.Item (get@ #///.compiler profile)))] [local_successes local_failures cache] (///dependency/resolution.all console (list local) @@ -67,7 +67,7 @@ ["Remote successes" (|> remote_successes (set.of_list ///dependency.hash) (set.difference (set.of_list ///dependency.hash local_successes)) - set.to_list + set.list (list.sort (\ ///dependency.order <)) (exception.listing ..format))] ["Remote failures" (|> remote_failures diff --git a/stdlib/source/program/aedifex/command/install.lux b/stdlib/source/program/aedifex/command/install.lux index ddc73ca36..b39b30f85 100644 --- a/stdlib/source/program/aedifex/command/install.lux +++ b/stdlib/source/program/aedifex/command/install.lux @@ -56,7 +56,7 @@ (do ///action.monad [package (|> profile (get@ #/.sources) - set.to_list + set.list (export.library fs)) pom (|> profile ///pom.write diff --git a/stdlib/source/program/aedifex/command/test.lux b/stdlib/source/program/aedifex/command/test.lux index 7af6a4351..78859819d 100644 --- a/stdlib/source/program/aedifex/command/test.lux +++ b/stdlib/source/program/aedifex/command/test.lux @@ -32,15 +32,15 @@ (-> (Console Async) (Program Async) (file.System Async) (Shell Async) Resolution (Command [Exit Any])) (do async.monad [environment (program.environment async.monad program) - #let [working_directory (\ program directory)]] + .let [working_directory (\ program directory)]] (do {! ///action.monad} - [#let [home (\ program home)] + [.let [home (\ program home)] [build_exit compiler program] (//build.do! console program fs shell resolution (set@ #///.program (get@ #///.test profile) profile))] (if (i.= shell.normal build_exit) (do ! [_ (console.write_line ..start console) - #let [host_dependencies (//build.host_dependencies fs home resolution) + .let [host_dependencies (//build.host_dependencies fs home resolution) [test_command test_parameters] (case compiler (#//build.JVM dependency) (|> program diff --git a/stdlib/source/program/aedifex/dependency/deployment.lux b/stdlib/source/program/aedifex/dependency/deployment.lux index a6302d5f0..2b39403a9 100644 --- a/stdlib/source/program/aedifex/dependency/deployment.lux +++ b/stdlib/source/program/aedifex/dependency/deployment.lux @@ -91,7 +91,7 @@ (do try.monad [now (: (Try ///artifact/time.Time) (///artifact/time.of_instant now)) - #let [version_template (get@ #///artifact.version artifact) + .let [version_template (get@ #///artifact.version artifact) snapshot (|> snapshot (update@ [#///metadata/snapshot.versioning #///artifact/versioning.snapshot] (function (_ snapshot) @@ -119,7 +119,7 @@ (-> (Repository Async) Dependency Package (Async (Try Artifact))) (do {! async.monad} [now (async.future instant.now) - #let [version_template (get@ #///artifact.version artifact)]] + .let [version_template (get@ #///artifact.version artifact)]] (do (try.with !) [_ (with_status repository version_template [artifact type] (get@ #///package.library package)) diff --git a/stdlib/source/program/aedifex/dependency/resolution.lux b/stdlib/source/program/aedifex/dependency/resolution.lux index a48909375..c286c92c2 100644 --- a/stdlib/source/program/aedifex/dependency/resolution.lux +++ b/stdlib/source/program/aedifex/dependency/resolution.lux @@ -6,7 +6,7 @@ [abstract [codec (#+ Codec)] [equivalence (#+ Equivalence)] - [monad (#+ Monad do)]] + [monad (#+ do)]] [control ["." try (#+ Try) ("#\." functor)] ["." exception (#+ Exception exception:)] @@ -128,7 +128,7 @@ extension (///artifact/extension.extension type)] (do (try.with async.monad) [snapshot (///metadata/snapshot.read repository artifact) - #let [version_template (get@ [#///metadata/snapshot.artifact #///artifact.version] snapshot) + .let [version_template (get@ [#///metadata/snapshot.artifact #///artifact.version] snapshot) artifact_version (value.format {#value.version version_template #value.snapshot (get@ [#///metadata/snapshot.versioning #///artifact/versioning.snapshot] snapshot)}) artifact (set@ #///artifact.version artifact_version artifact)] @@ -230,14 +230,14 @@ (case ?package (#try.Success package) (do ! - [#let [sub_dependencies (|> package + [.let [sub_dependencies (|> package ///package.dependencies - (try\map set.to_list) + (try\map set.list) (try.else (list))) ## For security reasons, it's not a good idea to allow dependencies to introduce repositories. ## package_repositories (|> package ## ///package.repositories - ## (try\map set.to_list) + ## (try\map set.list) ## (try.else (list)) ## (list\map new_repository)) ## sub_repositories (list\compose repositories package_repositories) diff --git a/stdlib/source/program/aedifex/format.lux b/stdlib/source/program/aedifex/format.lux index c2c0849ac..c7adaa33e 100644 --- a/stdlib/source/program/aedifex/format.lux +++ b/stdlib/source/program/aedifex/format.lux @@ -90,7 +90,7 @@ (def: (on_set field value format aggregate) (All [a] (-> Text (Set a) (Format a) Aggregate Aggregate)) - (..on_list field (set.to_list value) format aggregate)) + (..on_list field (set.list value) format aggregate)) (def: (on_dictionary field value key_format value_format aggregate) (All [k v] diff --git a/stdlib/source/program/aedifex/parser.lux b/stdlib/source/program/aedifex/parser.lux index b2e6ab0f9..7405deebc 100644 --- a/stdlib/source/program/aedifex/parser.lux +++ b/stdlib/source/program/aedifex/parser.lux @@ -185,7 +185,7 @@ (dictionary.of_list text.hash) (<code>.record (<>.some (<>.and <code>.local_tag <code>.any)))) - #let [^parents (: (Parser (List /.Name)) + .let [^parents (: (Parser (List /.Name)) (<>.else (list) (..plural input "parents" <code>.text))) ^identity (: (Parser (Maybe Artifact)) diff --git a/stdlib/source/program/aedifex/pom.lux b/stdlib/source/program/aedifex/pom.lux index e37bbe0e9..e1f242b69 100644 --- a/stdlib/source/program/aedifex/pom.lux +++ b/stdlib/source/program/aedifex/pom.lux @@ -128,11 +128,11 @@ (def: (info value) (-> /.Info (List XML)) ($_ list\compose - (|> value (get@ #/.url) (maybe\map (..property ..url_tag)) maybe.to_list) - (|> value (get@ #/.description) (maybe\map (..property "description")) maybe.to_list) + (|> value (get@ #/.url) (maybe\map (..property ..url_tag)) maybe.list) + (|> value (get@ #/.description) (maybe\map (..property "description")) maybe.list) (|> value (get@ #/.licenses) (list\map ..license) (..group "licenses") list) - (|> value (get@ #/.scm) (maybe\map ..scm) maybe.to_list) - (|> value (get@ #/.organization) (maybe\map ..organization) maybe.to_list) + (|> value (get@ #/.scm) (maybe\map ..scm) maybe.list) + (|> value (get@ #/.organization) (maybe\map ..organization) maybe.list) (|> value (get@ #/.developers) (list\map ..developer) (..group "developers") list) (|> value (get@ #/.contributors) (list\map ..contributor) (..group "contributors") list) )) @@ -147,8 +147,8 @@ ($_ list\compose (list ..version) (..artifact identity) - (|> value (get@ #/.repositories) set.to_list (list\map ..repository) (..group "repositories") list) - (|> value (get@ #/.dependencies) set.to_list (list\map ..dependency) (..group ..dependencies_tag) list) + (|> value (get@ #/.repositories) set.list (list\map ..repository) (..group "repositories") list) + (|> value (get@ #/.dependencies) set.list (list\map ..dependency) (..group ..dependencies_tag) list) ))) _ diff --git a/stdlib/source/program/aedifex/repository/local.lux b/stdlib/source/program/aedifex/repository/local.lux index db9395c09..6cfdd0f0b 100644 --- a/stdlib/source/program/aedifex/repository/local.lux +++ b/stdlib/source/program/aedifex/repository/local.lux @@ -48,7 +48,7 @@ (def: (upload uri content) (do {! async.monad} - [#let [absolute_path (..absolute_path program (\ fs separator) uri)] + [.let [absolute_path (..absolute_path program (\ fs separator) uri)] ? (\ fs file? absolute_path) _ (if ? (in []) diff --git a/stdlib/source/program/compositor.lux b/stdlib/source/program/compositor.lux index 6d19548fb..543fdfdf9 100644 --- a/stdlib/source/program/compositor.lux +++ b/stdlib/source/program/compositor.lux @@ -76,9 +76,9 @@ (All [a] (-> (Async (Try a)) (Async (Try a)))) (do async.monad - [#let [start (io.run instant.now)] + [.let [start (io.run instant.now)] output process - #let [_ ("lux io log" (|> (io.run instant.now) + .let [_ ("lux io log" (|> (io.run instant.now) (instant.span start) %.duration (format "Duration: ")))]] @@ -135,7 +135,7 @@ (<| (or_crash! "Compilation failed:") ..timed (do (try.with async.monad) - [#let [[compilation_sources compilation_host_dependencies compilation_libraries compilation_target compilation_module] compilation] + [.let [[compilation_sources compilation_host_dependencies compilation_libraries compilation_target compilation_module] compilation] import (/import.import (get@ #platform.&file_system platform) compilation_libraries) [state archive] (:sharing [<parameters>] (Platform <parameters>) diff --git a/stdlib/source/program/compositor/import.lux b/stdlib/source/program/compositor/import.lux index eec954cd5..b8e27ebc4 100644 --- a/stdlib/source/program/compositor/import.lux +++ b/stdlib/source/program/compositor/import.lux @@ -50,7 +50,7 @@ (\ ! map (let [! try.monad] (|>> (\ ! map (<binary>.run tar.parser)) (\ ! join) - (\ ! map (|>> row.to_list + (\ ! map (|>> row.list (monad.fold ! (function (_ entry import) (case entry (#tar.Normal [path instant mode ownership content]) diff --git a/stdlib/source/program/scriptum.lux b/stdlib/source/program/scriptum.lux index 941c55087..ba35a2169 100644 --- a/stdlib/source/program/scriptum.lux +++ b/stdlib/source/program/scriptum.lux @@ -66,7 +66,7 @@ (-> Nat Nat Nat) (n.- (n./ 2 id) level)) -(def: (parameter_to_name [type_func_name type_function_arguments] level id) +(def: (parameter_name [type_func_name type_function_arguments] level id) (-> [Text (List Text)] Nat Nat Text) (if (type_arg? id) (let [arg_id (..arg_id level id)] @@ -81,7 +81,7 @@ (sequence.item arg_id)))) type_func_name)) -(def: (level_to_args offset level) +(def: (level_parameters offset level) (-> Nat Nat (List Text)) (if (n.= 0 level) (list) @@ -97,13 +97,13 @@ (list\map (|>> (format prefix))) (text.join_with text.new_line))) -(def: (pprint_type_definition level type_func_info tags module signature? recursive_type? type) +(def: (pprint_type_definition level type_func_info tags module interface? recursive_type? type) (-> Nat [Text (List Text)] (List Name) Text Bit Bit Type Text) (case tags (^ (list [_ single_tag])) - (if signature? - (format "(: " (pprint_type_definition level type_func_info #.None module signature? recursive_type? type) text.new_line " " single_tag ")") - (format "{#" single_tag " " (pprint_type_definition level type_func_info #.None module signature? recursive_type? type) "}")) + (if interface? + (format "(: " (pprint_type_definition level type_func_info #.None module interface? recursive_type? type) text.new_line " " single_tag ")") + (format "{#" single_tag " " (pprint_type_definition level type_func_info #.None module interface? recursive_type? type) "}")) _ (case [recursive_type? type] @@ -113,7 +113,7 @@ (format "(primitive " (%.text name) ")") _ - (format "(primitive " (%.text name) " " (|> params (list\map (pprint_type_definition level type_func_info #.None module signature? recursive_type?)) (text.join_with " ")) ")")) + (format "(primitive " (%.text name) " " (|> params (list\map (pprint_type_definition level type_func_info #.None module interface? recursive_type?)) (text.join_with " ")) ")")) [_ (#.Sum _)] (let [members (type.flat_variant type)] @@ -121,7 +121,7 @@ #.End (format "(Or " (|> members - (list\map (pprint_type_definition level type_func_info #.None module signature? recursive_type?)) + (list\map (pprint_type_definition level type_func_info #.None module interface? recursive_type?)) (text.join_with " ")) ")") @@ -134,41 +134,41 @@ (let [types (type.flat_tuple type)] (format "(#" t_name " " (|> types - (list\map (pprint_type_definition level type_func_info #.None module signature? recursive_type?)) + (list\map (pprint_type_definition level type_func_info #.None module interface? recursive_type?)) (text.join_with " ")) ")")) _ - (format "(#" t_name " " (pprint_type_definition level type_func_info #.None module signature? recursive_type? type) ")")))) + (format "(#" t_name " " (pprint_type_definition level type_func_info #.None module interface? recursive_type? type) ")")))) (text.join_with text.new_line)))) [_ (#.Product _)] (let [members (type.flat_tuple type)] (case tags #.End - (format "[" (|> members (list\map (pprint_type_definition level type_func_info #.None module signature? recursive_type?)) (text.join_with " ")) "]") + (format "[" (|> members (list\map (pprint_type_definition level type_func_info #.None module interface? recursive_type?)) (text.join_with " ")) "]") _ (let [member_docs (|> members (list.zipped/2 tags) (list\map (function (_ [[_ t_name] type]) - (if signature? - (format "(: " (pprint_type_definition level type_func_info #.None module signature? recursive_type? type) text.new_line " " t_name ")") - (format "#" t_name " " (pprint_type_definition level type_func_info #.None module signature? recursive_type? type))))) + (if interface? + (format "(: " (pprint_type_definition level type_func_info #.None module interface? recursive_type? type) text.new_line " " t_name ")") + (format "#" t_name " " (pprint_type_definition level type_func_info #.None module interface? recursive_type? type))))) (text.join_with (format text.new_line " ")))] - (if signature? + (if interface? member_docs (format "{" member_docs "}"))))) [_ (#.Function input output)] (let [[ins out] (type.flat_function type)] - (format "(-> " (|> ins (list\map (pprint_type_definition level type_func_info #.None module signature? recursive_type?)) (text.join_with " ")) + (format "(-> " (|> ins (list\map (pprint_type_definition level type_func_info #.None module interface? recursive_type?)) (text.join_with " ")) " " - (pprint_type_definition level type_func_info #.None module signature? recursive_type? out) + (pprint_type_definition level type_func_info #.None module interface? recursive_type? out) ")")) [_ (#.Parameter idx)] - (parameter_to_name type_func_info level idx) + (parameter_name type_func_info level idx) (^template [<tag> <pre> <post>] [[_ (<tag> id)] @@ -179,8 +179,8 @@ (^template [<tag> <name> <flat>] [[_ (<tag> _)] (let [[level' body] (<flat> type) - args (level_to_args level level') - body_doc (pprint_type_definition (n.+ level level') type_func_info tags module signature? recursive_type? body)] + args (level_parameters level level') + body_doc (pprint_type_definition (n.+ level level') type_func_info tags module interface? recursive_type? body)] (format "(" <name> " " "[" (text.join_with " " args) "]" (case tags #.End @@ -197,7 +197,7 @@ [_ (#.Apply param fun)] (let [[type_func type_arguments] (type.flat_application type)] - (format "(" (pprint_type_definition level type_func_info tags module signature? recursive_type? type_func) " " (|> type_arguments (list\map (pprint_type_definition level type_func_info #.None module signature? recursive_type?)) (text.join_with " ")) ")")) + (format "(" (pprint_type_definition level type_func_info tags module interface? recursive_type? type_func) " " (|> type_arguments (list\map (pprint_type_definition level type_func_info #.None module interface? recursive_type?)) (text.join_with " ")) ")")) [_ (#.Named [_module _name] type)] (if (text\= module _module) @@ -233,7 +233,7 @@ ")")) (#.Parameter idx) - (parameter_to_name [type_func_name (list)] level idx) + (parameter_name [type_func_name (list)] level idx) (^template [<tag> <pre> <post>] [(<tag> id) @@ -244,7 +244,7 @@ (^template [<tag> <name> <flat>] [(<tag> _) (let [[level' body] (<flat> type) - args (level_to_args level level') + args (level_parameters level level') body_doc (pprint_type (n.+ level level') type_func_name module body)] (format "(" <name> " " "[" (|> args (list.interpose " ") (text.join_with "")) "]" (format " " body_doc) @@ -354,10 +354,10 @@ (#.Named type_name type) (do meta.monad [tags (meta.tags_of type_name) - #let [[_ _name] type_name + .let [[_ _name] type_name recursive_type? (annotation.recursive_type? def_annotations) type_arguments (annotation.type_arguments def_annotations) - signature? (annotation.signature? def_annotations) + interface? (annotation.interface? def_annotations) usage (case type_arguments #.End _name @@ -365,13 +365,13 @@ _ (format "(" (text.join_with " " (list& _name type_arguments)) ")")) nesting (list.size type_arguments)]] - (in (md.code (format (if signature? "(interface: " "(type: ") + (in (md.code (format (if interface? "(interface: " "(type: ") (if recursive_type? "#rec " "") usage text.new_line (|> type (unravel_type_func nesting) (when> [(new> recursive_type? [])] [unrecurse_type]) - (pprint_type_definition (dec nesting) [_name type_arguments] (maybe.else (list) tags) module signature? recursive_type?) + (pprint_type_definition (dec nesting) [_name type_arguments] (maybe.else (list) tags) module interface? recursive_type?) (text.split_all_with text.new_line) (list\map (|>> (format " "))) (text.join_with text.new_line)) @@ -387,7 +387,7 @@ (: (-> Value (Meta (Markdown Block))) (function (_ [name def_annotations type]) (do meta.monad - [#let [?doc (annotation.documentation def_annotations)] + [.let [?doc (annotation.documentation def_annotations)] type_code (document_type module type def_annotations)] (in ($_ md.then (md.heading/3 name) @@ -460,7 +460,7 @@ (def: (document_module [[module_name module] organization]) (-> [[Text Module] Organization] (Meta [Text (Markdown Block)])) (do meta.monad - [#let [(^slots [#types #macros #implementations #values]) organization + [.let [(^slots [#types #macros #implementations #values]) organization annotations (|> module (get@ #.module_annotations) (maybe.else (' {})) @@ -475,7 +475,7 @@ types_documentation (if (list.empty? types) (in empty_block) (document_types module_name types)) - #let [documentation ($_ md.then + .let [documentation ($_ md.then types_documentation (if (list.empty? macros) empty_block (document_macros module_name macros)) (if (list.empty? implementations) empty_block (document_implementations module_name implementations)) @@ -504,7 +504,7 @@ (macro: (gen_documentation! _) (do {! meta.monad} [all_modules meta.modules - #let [lux_modules (|> all_modules + .let [lux_modules (|> all_modules (list.only (function.compose lux_module? product.left)) (list.sort name_sort))] lux_exports (monad.map ! (function.compose meta.exports product.left) @@ -512,7 +512,7 @@ module_documentation (|> (list\map organize_definitions lux_exports) (list.zipped/2 lux_modules) (monad.map ! document_module)) - #let [_ (io.run (monad.map io.monad save_documentation! module_documentation))]] + .let [_ (io.run (monad.map io.monad save_documentation! module_documentation))]] (in (list)))) (gen_documentation!) |