From db3e864ae66da7f7d1034ae95967605144d5ec47 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sun, 27 Jun 2021 20:09:48 -0400 Subject: Made obtaining env variables more granular + partial Lua support. --- stdlib/source/program/compositor.lux | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'stdlib/source/program/compositor.lux') diff --git a/stdlib/source/program/compositor.lux b/stdlib/source/program/compositor.lux index a6b85ccf0..557e9d22a 100644 --- a/stdlib/source/program/compositor.lux +++ b/stdlib/source/program/compositor.lux @@ -20,6 +20,8 @@ [collection ["." dictionary] ["." row (#+ Row)]]] + [time + ["." instant]] ["." world #_ ["." file (#+ File Path)] ["#/." program] @@ -71,6 +73,18 @@ (#try.Success output) (wrap output)))) +(def: (timed process) + (All [a] + (-> (Promise (Try a)) (Promise (Try a)))) + (do promise.monad + [#let [start (io.run instant.now)] + output process + #let [_ ("lux io log" (|> (io.run instant.now) + (instant.span start) + %.duration + (format "Duration: ")))]] + (wrap output))) + (def: (package! monad file_system [packager package] static archive context) (All [!] (-> (Monad !) (file.System !) [Packager Path] Static Archive Context (! (Try Any)))) (for {@.old @@ -132,6 +146,7 @@ (case service (#/cli.Compilation compilation) (<| (or_crash! "Compilation failed:") + ..timed (do (try.with promise.monad) [#let [[compilation_sources compilation_libraries compilation_target compilation_module] compilation] import (/import.import (get@ #platform.&file_system platform) compilation_libraries) -- cgit v1.2.3