aboutsummaryrefslogtreecommitdiff
path: root/new-luxc
diff options
context:
space:
mode:
authorEduardo Julian2018-08-11 10:59:38 -0400
committerEduardo Julian2018-08-11 10:59:38 -0400
commit0fe039a41571328a29b7a620643fc5e30e32b9a3 (patch)
tree0593a3ca8ff0e23f3d73647e9015ab01f57f77e6 /new-luxc
parent13265c95fcacf9952bc61ebece64078d8b6124ec (diff)
Moved CLI machinery to stdlib.
Diffstat (limited to '')
-rw-r--r--new-luxc/source/program.lux52
1 files changed, 6 insertions, 46 deletions
diff --git a/new-luxc/source/program.lux b/new-luxc/source/program.lux
index 7cb10b457..4e0925717 100644
--- a/new-luxc/source/program.lux
+++ b/new-luxc/source/program.lux
@@ -13,11 +13,12 @@
["." io (#+ IO Process io)]
[time
["." instant]]
- ["." cli (#+ CLI program:)]
+ [cli (#+ program:)]
[world
["." file (#+ File)]]
[compiler
- ["." default (#+ Configuration Platform)]]]
+ ["." cli]
+ ["." default (#+ Platform)]]]
[luxc
## ["." repl]
[lang
@@ -27,47 +28,6 @@
["." runtime]
["." expression]]]]])
-(type: Build
- [Configuration Text])
-
-(type: REPL
- Configuration)
-
-(do-template [<name> <short> <long>]
- [(def: <name>
- (CLI Text)
- (cli.parameter [<short> <long>]))]
-
- [source "-s" "--source"]
- [target "-t" "--target"]
- [program "-p" "--program"]
- )
-
-(def: configuration
- (CLI Configuration)
- ($_ p.and
- (p.some ..source)
- ..target))
-
-(def: build
- (CLI Build)
- ($_ p.and
- configuration
- ..program))
-
-(def: repl
- (CLI REPL)
- ..configuration)
-
-(type: Service
- (#Build Build)
- (#REPL REPL))
-
-(def: service
- (CLI Service)
- (p.or (p.after (cli.this "build") build)
- (p.after (cli.this "repl") repl)))
-
(def: (or-crash! failure-describer action)
(All [a]
(-> Text (Task a) (Promise a)))
@@ -103,18 +63,18 @@
#default.runtime runtime.translate
#default.file-system file.JVM@System})))
-(program: [{service ..service}]
+(program: [{service cli.service}]
(do io.Monad<IO>
[platform ..jvm-platform]
(wrap (: (Promise Any)
(case service
- (#Build [configuration program])
+ (#cli.Build [configuration program])
(<| (or-crash! "Compilation failed:")
promise.future
..timed
(default.compile platform configuration program))
- (#REPL configuration)
+ (#cli.REPL configuration)
(undefined)
## (<| (or-crash! "REPL failed:")
## (repl.run sources target))