diff options
author | Eduardo Julian | 2020-07-01 19:09:53 -0400 |
---|---|---|
committer | Eduardo Julian | 2020-07-01 19:09:53 -0400 |
commit | 23ad698f1ad87f9e9838c1e7df1809991c6a1d18 (patch) | |
tree | 752c4cb6fdb709c88e7c82fffd838ac49f836aa4 /stdlib | |
parent | 5d2512af61ac17bca25a4790ea01c24f7d2415da (diff) |
WIP: Leiningen integration with the new JVM compiler.
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/source/lux/control/parser/cli.lux | 9 | ||||
-rw-r--r-- | stdlib/source/program/compositor.lux | 11 | ||||
-rw-r--r-- | stdlib/source/test/lux/extension.lux | 5 | ||||
-rw-r--r-- | stdlib/source/test/lux/target/jvm.lux | 2 |
4 files changed, 15 insertions, 12 deletions
diff --git a/stdlib/source/lux/control/parser/cli.lux b/stdlib/source/lux/control/parser/cli.lux index 0b60d783a..f58d78d13 100644 --- a/stdlib/source/lux/control/parser/cli.lux +++ b/stdlib/source/lux/control/parser/cli.lux @@ -132,7 +132,7 @@ (wrap []))) (program: [name] - (io (log! (text@compose "Hello, " name)))) + (io (log! (:: text.monoid compose "Hello, " name)))) (program: [{config config^}] (do io.monad @@ -156,8 +156,7 @@ [(~+ (|> args (list@map (function (_ [binding parser]) (list binding parser))) - list@join)) - (~ g!_) ..end] + list@join))] ((~' wrap) ((~! do) (~! io.monad) [(~ g!output) (~ body) (~+ (for {@.old @@ -169,10 +168,10 @@ (` process.run!))))] ((~' wrap) (~ g!output)))))) (~ g!args)) - (#try.Success [(~ g!_) (~ g!output)]) + (#.Right [(~ g!_) (~ g!output)]) (~ g!output) - (#try.Failure (~ g!message)) + (#.Left (~ g!message)) (.error! (~ g!message)) )))) ))) diff --git a/stdlib/source/program/compositor.lux b/stdlib/source/program/compositor.lux index 695d8a9d9..4dbd5efcd 100644 --- a/stdlib/source/program/compositor.lux +++ b/stdlib/source/program/compositor.lux @@ -109,10 +109,7 @@ [Packager Path] (Promise Any))) (do {@ promise.monad} - [platform (promise.future platform) - console (|> console.system - promise.future - (:: @ map (|>> try.assume console.async)))] + [platform (promise.future platform)] (case service (#/cli.Compilation compilation) (<| (or-crash! "Compilation failed:") @@ -148,5 +145,9 @@ ## TODO: Fix the interpreter... (undefined) ## (<| (or-crash! "Interpretation failed:") - ## (interpreter.run (try.with promise.monad) console platform interpretation generation-bundle)) + ## (do {@ promise.monad} + ## [console (|> console.system + ## promise.future + ## (:: @ map (|>> try.assume console.async)))] + ## (interpreter.run (try.with promise.monad) console platform interpretation generation-bundle))) )))) diff --git a/stdlib/source/test/lux/extension.lux b/stdlib/source/test/lux/extension.lux index da6f89187..9aa8ae987 100644 --- a/stdlib/source/test/lux/extension.lux +++ b/stdlib/source/test/lux/extension.lux @@ -50,7 +50,10 @@ (wrap (#synthesis.Extension self (list))))) )) -(for {@.jvm +(for {@.old + (as-is) + + @.jvm (as-is (generation: (..my-generation self phase archive {parameters (<>.some <s>.any)}) (do phase.monad [] diff --git a/stdlib/source/test/lux/target/jvm.lux b/stdlib/source/test/lux/target/jvm.lux index f572b7e1e..18366de69 100644 --- a/stdlib/source/test/lux/target/jvm.lux +++ b/stdlib/source/test/lux/target/jvm.lux @@ -963,7 +963,7 @@ (array (/.newarray /instruction.t-int) $Integer::random $Integer::literal [/.iastore /.iaload $Integer::wrap] (function (_ expected) (for {@.old - (|>> (:coerce java/lang/Integer) ("jvm ieq" (host.int-to-long expected))) + (|>> (:coerce java/lang/Integer) ("jvm ieq" (:coerce java/lang/Integer expected))) @.jvm (|>> (:coerce java/lang/Integer) "jvm object cast" ("jvm int =" ("jvm object cast" (:coerce java/lang/Integer expected))))})))) |