From 105ab334201646be6b594d3d1215297e3b629a10 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 11 Feb 2022 19:57:00 -0400 Subject: Fixed directive extensions for Lux/Python. --- stdlib/source/program/compositor/import.lux | 74 ----------------------------- 1 file changed, 74 deletions(-) delete mode 100644 stdlib/source/program/compositor/import.lux (limited to 'stdlib/source/program/compositor') 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 (.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)) -- cgit v1.2.3