From 23ad698f1ad87f9e9838c1e7df1809991c6a1d18 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Wed, 1 Jul 2020 19:09:53 -0400 Subject: WIP: Leiningen integration with the new JVM compiler. --- stdlib/source/lux/control/parser/cli.lux | 9 ++++----- stdlib/source/program/compositor.lux | 11 ++++++----- stdlib/source/test/lux/extension.lux | 5 ++++- stdlib/source/test/lux/target/jvm.lux | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) (limited to 'stdlib/source') 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 .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))))})))) -- cgit v1.2.3