aboutsummaryrefslogtreecommitdiff
path: root/lux-r/source
diff options
context:
space:
mode:
authorEduardo Julian2022-07-09 14:35:38 -0400
committerEduardo Julian2022-07-09 14:35:38 -0400
commit7db42ab1b9d3c764772ca63c74bf44bb2b8b8325 (patch)
treebd1c865dea0902790f3e462cec4f9bc8d8ae428f /lux-r/source
parentfc2737b5226eda69c12bc593e83e22ed54e4d3af (diff)
First-class programs instead of having a "lux program" extension.
Diffstat (limited to 'lux-r/source')
-rw-r--r--lux-r/source/program.lux59
-rw-r--r--lux-r/source/test/program.lux15
2 files changed, 38 insertions, 36 deletions
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))))