aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/compositor/import.lux
diff options
context:
space:
mode:
authorEduardo Julian2022-02-11 19:57:00 -0400
committerEduardo Julian2022-02-11 19:57:00 -0400
commit105ab334201646be6b594d3d1215297e3b629a10 (patch)
treed1f972d5fe676f8b93f4efa8fb0a8ce602878903 /stdlib/source/program/compositor/import.lux
parent469b171e5793422a4dbd27f4f2fab8a261c9ccf9 (diff)
Fixed directive extensions for Lux/Python.
Diffstat (limited to 'stdlib/source/program/compositor/import.lux')
-rw-r--r--stdlib/source/program/compositor/import.lux74
1 files changed, 0 insertions, 74 deletions
diff --git a/stdlib/source/program/compositor/import.lux b/stdlib/source/program/compositor/import.lux
deleted file mode 100644
index 7f21f20ec..000000000
--- a/stdlib/source/program/compositor/import.lux
+++ /dev/null
@@ -1,74 +0,0 @@
-(.using
- [library
- [lux {"-" Module}
- [abstract
- ["[0]" monad {"+" Monad do}]]
- [control
- ["[0]" try {"+" Try}]
- ["[0]" exception {"+" exception:}]
- [concurrency
- ["[0]" async {"+" Async} ("[1]#[0]" monad)]]
- ["<>" parser
- ["<[0]>" binary]]]
- [data
- [binary {"+" Binary}]
- ["[0]" text
- ["%" format {"+" format}]]
- [collection
- ["[0]" dictionary {"+" Dictionary}]
- ["[0]" sequence]]
- [format
- ["[0]" tar]]]
- [tool
- [compiler
- [meta
- [cli {"+" Library Module}]]]]
- [world
- ["[0]" file]]]])
-
-(def: Action
- (type (All (_ a) (Async (Try a)))))
-
-(exception: .public useless_tar_entry)
-
-(exception: .public (duplicate [library Library
- module Module])
- (exception.report
- ["Module" (%.text module)]
- ["Library" (%.text library)]))
-
-(type: .public Import
- (Dictionary file.Path Binary))
-
-(def: (import_library system library import)
- (-> (file.System Async) Library Import (Action Import))
- (let [! async.monad]
- (|> library
- (# system read)
- (# ! each (let [! try.monad]
- (|>> (# ! each (<binary>.result tar.parser))
- (# ! conjoint)
- (# ! each (|>> sequence.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)))
- (# ! conjoint)))))))
-
-(def: .public (import system libraries)
- (-> (file.System Async) (List Library) (Action Import))
- (monad.mix (: (Monad Action)
- (try.with async.monad))
- (..import_library system)
- (dictionary.empty text.hash)
- libraries))