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-cl/source/program.lux | 59 ++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 29 deletions(-) (limited to 'lux-cl/source/program.lux') diff --git a/lux-cl/source/program.lux b/lux-cl/source/program.lux index c5d76c436..2121d401a 100644 --- a/lux-cl/source/program.lux +++ b/lux-cl/source/program.lux @@ -1,6 +1,6 @@ (.require [lux (.except) - [program (.only program:)] + [program (.only program)] ["[0]" ffi] ["[0]" debug] [abstract @@ -412,31 +412,32 @@ (_.call/* @program (list)) ))) -(`` (program: [service /cli.service] - (let [extension ".cl"] - (do io.monad - [platform ..platform] - (exec (do promise.monad - [_ (/.compiler [/static.#host @.common_lisp - /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 - [(And _.Tag Register) (type_literal (_.Expression Any)) (type_literal (_.Expression Any))] - ..extender - service - [(packager.package (_.manual "") - _.code - ..then - ..scope) - (format (/cli.target service) - (at file.default separator) - "program" - extension)])] - (..declare_success! [])) - (io.io [])))))) +(`` (def _ + (program [service /cli.service] + (let [extension ".cl"] + (do io.monad + [platform ..platform] + (exec (do promise.monad + [_ (/.compiler [/static.#host @.common_lisp + /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 + [(And _.Tag Register) (type_literal (_.Expression Any)) (type_literal (_.Expression Any))] + ..extender + service + [(packager.package (_.manual "") + _.code + ..then + ..scope) + (format (/cli.target service) + (at file.default separator) + "program" + extension)])] + (..declare_success! [])) + (io.io []))))))) -- cgit v1.2.3