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-r/source/program.lux | 59 ++++++++++++++++++++++--------------------- lux-r/source/test/program.lux | 15 ++++++----- 2 files changed, 38 insertions(+), 36 deletions(-) (limited to 'lux-r') diff --git a/lux-r/source/program.lux b/lux-r/source/program.lux index 7cb8645f7..42d095a41 100644 --- a/lux-r/source/program.lux +++ b/lux-r/source/program.lux @@ -1,6 +1,6 @@ (.require [lux (.except) - [program (.only program:)] + [program (.only program)] ["[0]" ffi] ["[0]" debug] [abstract @@ -596,31 +596,32 @@ (_.apply/0 $program []) ))) -(`` (program: [service /cli.service] - (let [extension ".r"] - (do io.monad - [[interpreter platform] ..platform] - (exec (do promise.monad - [_ (/.compiler [/static.#host @.r - /static.#host_module_extension extension - /static.#target (/cli.target service) - /static.#artifact_extension extension] - (..expander interpreter) - analysis.bundle - (io.io platform) - generation.bundle - extension/bundle.empty - ..program - [_.SVar _.Expression _.Expression] - ..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 ".r"] + (do io.monad + [[interpreter platform] ..platform] + (exec (do promise.monad + [_ (/.compiler [/static.#host @.r + /static.#host_module_extension extension + /static.#target (/cli.target service) + /static.#artifact_extension extension] + (..expander interpreter) + analysis.bundle + (io.io platform) + generation.bundle + extension/bundle.empty + ..program + [_.SVar _.Expression _.Expression] + ..extender + service + [(packager.package (_.manual "") + _.code + _.then + ..scope) + (format (/cli.target service) + (at file.default separator) + "program" + extension)])] + (..declare_success! [])) + (io.io []))))))) diff --git a/lux-r/source/test/program.lux b/lux-r/source/test/program.lux index f487dd0cf..dd0db1990 100644 --- a/lux-r/source/test/program.lux +++ b/lux-r/source/test/program.lux @@ -4,15 +4,16 @@ [control ["[0]" io] [parser - [cli (.only program:)]]]] + [cli (.only program)]]]] [spec ["[0]" compositor]] [\\ ["[0]" /]]) -(program: args - (<| io.io - _.run! - ... (_.times 100) - (_.seed 1985013625126912890) - (compositor.spec /.jvm /.bundle /.expander /.program))) +(def _ + (program args + (<| io.io + _.run! + ... (_.times 100) + (_.seed 1985013625126912890) + (compositor.spec /.jvm /.bundle /.expander /.program)))) -- cgit v1.2.3