diff options
author | Eduardo Julian | 2021-08-24 05:23:45 -0400 |
---|---|---|
committer | Eduardo Julian | 2021-08-24 05:23:45 -0400 |
commit | 36303d6cb2ce3ab9e36d045b9516c997bd461862 (patch) | |
tree | b9d2f1495143054d61d9af129f36833624db9dac /stdlib/source/program/compositor/import.lux | |
parent | ec1f31b5a1492d5e0ab260397291d4449483bbd9 (diff) |
Outsourced the syntax for labelled type definitions to macros.
Diffstat (limited to 'stdlib/source/program/compositor/import.lux')
-rw-r--r-- | stdlib/source/program/compositor/import.lux | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/stdlib/source/program/compositor/import.lux b/stdlib/source/program/compositor/import.lux index 1950c4ebb..d05867201 100644 --- a/stdlib/source/program/compositor/import.lux +++ b/stdlib/source/program/compositor/import.lux @@ -47,25 +47,25 @@ (let [! async.monad] (|> library (\ system read) - (\ ! map (let [! try.monad] - (|>> (\ ! map (<binary>.result tar.parser)) - (\ ! join) - (\ ! map (|>> row.list - (monad.mix ! (function (_ entry import) - (case entry - (#tar.Normal [path instant mode ownership content]) - (let [path (tar.from_path path)] - (case (dictionary.has' path (tar.data content) import) - (#try.Failure error) - (exception.except ..duplicate [library path]) + (\ ! each (let [! try.monad] + (|>> (\ ! each (<binary>.result tar.parser)) + (\ ! conjoint) + (\ ! each (|>> row.list + (monad.mix ! (function (_ entry import) + (case entry + (#tar.Normal [path instant mode ownership content]) + (let [path (tar.from_path path)] + (case (dictionary.has' path (tar.data content) import) + (#try.Failure error) + (exception.except ..duplicate [library path]) - import' - import')) - - _ - (exception.except ..useless_tar_entry []))) - import))) - (\ ! join))))))) + import' + import')) + + _ + (exception.except ..useless_tar_entry []))) + import))) + (\ ! conjoint))))))) (def: .public (import system libraries) (-> (file.System Async) (List Library) (Action Import)) |