aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/compositor/import.lux
diff options
context:
space:
mode:
authorEduardo Julian2021-08-24 05:23:45 -0400
committerEduardo Julian2021-08-24 05:23:45 -0400
commit36303d6cb2ce3ab9e36d045b9516c997bd461862 (patch)
treeb9d2f1495143054d61d9af129f36833624db9dac /stdlib/source/program/compositor/import.lux
parentec1f31b5a1492d5e0ab260397291d4449483bbd9 (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.lux36
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))