From 17e7566be51df5e428a6b10e6469201a8a9468da Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sat, 7 Aug 2021 02:20:09 -0400 Subject: Made the be/de macros for (co)monadic expression extensible. --- stdlib/source/program/aedifex.lux | 2 +- stdlib/source/program/aedifex/command/auto.lux | 2 +- stdlib/source/program/aedifex/command/build.lux | 8 +-- stdlib/source/program/aedifex/command/clean.lux | 2 +- stdlib/source/program/aedifex/command/deploy.lux | 2 +- stdlib/source/program/aedifex/command/deps.lux | 6 +- stdlib/source/program/aedifex/command/install.lux | 2 +- stdlib/source/program/aedifex/command/test.lux | 6 +- .../program/aedifex/dependency/deployment.lux | 4 +- .../program/aedifex/dependency/resolution.lux | 10 ++-- stdlib/source/program/aedifex/format.lux | 2 +- stdlib/source/program/aedifex/parser.lux | 2 +- stdlib/source/program/aedifex/pom.lux | 12 ++-- stdlib/source/program/aedifex/repository/local.lux | 2 +- stdlib/source/program/compositor.lux | 6 +- stdlib/source/program/compositor/import.lux | 2 +- stdlib/source/program/scriptum.lux | 64 +++++++++++----------- 17 files changed, 67 insertions(+), 67 deletions(-) (limited to 'stdlib/source/program') 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) (.record (<>.some (<>.and .local_tag .any)))) - #let [^parents (: (Parser (List /.Name)) + .let [^parents (: (Parser (List /.Name)) (<>.else (list) (..plural input "parents" .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 [] (Platform ) 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 (.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 [
 ]
         [[_ ( id)]
@@ -179,8 +179,8 @@
       (^template [  ]
         [[_ ( _)]
          (let [[level' body] ( 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 "("  " " "[" (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 [ 
 ]
       [( id)
@@ -244,7 +244,7 @@
     (^template [  ]
       [( _)
        (let [[level' body] ( 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 "("  " " "[" (|> 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!)
-- 
cgit v1.2.3