aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/compositor.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/program/compositor.lux')
-rw-r--r--stdlib/source/program/compositor.lux17
1 files changed, 12 insertions, 5 deletions
diff --git a/stdlib/source/program/compositor.lux b/stdlib/source/program/compositor.lux
index 6c0f700c2..bc96e7ae0 100644
--- a/stdlib/source/program/compositor.lux
+++ b/stdlib/source/program/compositor.lux
@@ -2,9 +2,10 @@
[library
[lux (#- Module)
[type (#+ :share)]
+ ["@" target]
["." debug]
[abstract
- [monad (#+ Monad do)]]
+ [monad (#+ do)]]
[control
["." io (#+ IO io)]
["." try (#+ Try)]
@@ -83,14 +84,14 @@
(format "Duration: ")))]]
(wrap output)))
-(def: (package! monad fs [packager package] static archive context)
- (All [!] (-> (Monad !) (file.System !) [Packager file.Path] Static Archive Context (! (Try Any))))
+(def: (package! fs [packager package] static archive context)
+ (-> (file.System Promise) [Packager file.Path] Static Archive Context (Promise (Try Any)))
(case (packager archive context)
(#try.Success content)
(\ fs write content package)
(#try.Failure error)
- (\ monad wrap (#try.Failure error))))
+ (\ promise.monad wrap (#try.Failure error))))
(with_expansions [<parameters> (as_is anchor expression artifact)]
(def: #export (compiler static
@@ -135,7 +136,13 @@
(:assume (platform.compile import static expander platform compilation [archive state])))
_ (ioW.freeze (get@ #platform.&file_system platform) static archive)
program_context (promise\wrap ($/program.context archive))
- _ (promise.future (..package! io.monad file.default packager,package static archive program_context))]
+ _ (..package! (for {@.old (file.async file.default)
+ @.jvm (file.async file.default)
+ @.js file.default})
+ packager,package
+ static
+ archive
+ program_context)]
(wrap (debug.log! "Compilation complete!"))))
(#/cli.Export export)