From 7db42ab1b9d3c764772ca63c74bf44bb2b8b8325 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sat, 9 Jul 2022 14:35:38 -0400 Subject: First-class programs instead of having a "lux program" extension. --- lux-scheme/source/program.lux | 53 ++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 26 deletions(-) (limited to 'lux-scheme') diff --git a/lux-scheme/source/program.lux b/lux-scheme/source/program.lux index d4744ba40..b6d06f341 100644 --- a/lux-scheme/source/program.lux +++ b/lux-scheme/source/program.lux @@ -1,6 +1,6 @@ (.require [lux (.except) - [program (.only program:)] + [program (.only program)] ["[0]" ffi] ["[0]" debug] [abstract @@ -454,28 +454,29 @@ (-> Any (Promise Any)) (promise.future (at world/program.default exit +0))) -(`` (program: [service /cli.service] - (let [extension ".scm"] - (do io.monad - [platform ..platform - now instant.now] - (exec (do promise.monad - [_ (/.compiler [/static.#host @.scheme - /static.#host_module_extension extension - /static.#target (/cli.target service) - /static.#artifact_extension extension] - ..expander - analysis.bundle - (io.io platform) - generation.bundle - extension/bundle.empty - ..program - [_.Var _.Expression _.Expression] - ..extender - service - [(packager.package now) - (format (/cli.target service) - (at file.default separator) - "program.tar")])] - (..declare_success! [])) - (io.io [])))))) +(`` (def _ + (program [service /cli.service] + (let [extension ".scm"] + (do io.monad + [platform ..platform + now instant.now] + (exec (do promise.monad + [_ (/.compiler [/static.#host @.scheme + /static.#host_module_extension extension + /static.#target (/cli.target service) + /static.#artifact_extension extension] + ..expander + analysis.bundle + (io.io platform) + generation.bundle + extension/bundle.empty + ..program + [_.Var _.Expression _.Expression] + ..extender + service + [(packager.package now) + (format (/cli.target service) + (at file.default separator) + "program.tar")])] + (..declare_success! [])) + (io.io []))))))) -- cgit v1.2.3