aboutsummaryrefslogtreecommitdiff
path: root/lux-jvm
diff options
context:
space:
mode:
Diffstat (limited to 'lux-jvm')
-rw-r--r--lux-jvm/commands.md4
-rw-r--r--lux-jvm/project.lux25
-rw-r--r--lux-jvm/source/program.lux6
3 files changed, 32 insertions, 3 deletions
diff --git a/lux-jvm/commands.md b/lux-jvm/commands.md
index 83ef82582..e1138ad2d 100644
--- a/lux-jvm/commands.md
+++ b/lux-jvm/commands.md
@@ -7,6 +7,10 @@ cd ~/lux/lux-jvm/ && lein clean && lein lux auto test
# Build
```
+cd ~/lux/lux-jvm/ \
+&& lux clean \
+&& lux auto build
+
## Use bootstrapping compiler to build new JVM compiler
cd ~/lux/lux-jvm/ \
&& lein clean \
diff --git a/lux-jvm/project.lux b/lux-jvm/project.lux
new file mode 100644
index 000000000..8dd553595
--- /dev/null
+++ b/lux-jvm/project.lux
@@ -0,0 +1,25 @@
+... This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
+... If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
+
+[""
+ ["identity" ["com.github.luxlang" "lux-jvm" "0.8.0-SNAPSHOT"]
+ "info" ["description" "A JVM bytecode compiler for Lux."
+ "url" "https://github.com/LuxLang/lux"
+ "scm" "https://github.com/LuxLang/lux.git"
+ "licenses" [["name" "Mozilla Public License Version 2.0"
+ "url" "https://github.com/LuxLang/lux/blob/master/license.md"
+ "type" "repo"]]
+ "developers" [["name" "Eduardo Julian"
+ "url" "https://github.com/eduardoejp"]]]
+
+ "deploy_repositories" ["snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
+ "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
+
+ "repositories" ["https://oss.sonatype.org/content/repositories/snapshots/"
+ "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
+
+ "lux" ["com.github.luxlang" "lux-jvm" "0.8.0-SNAPSHOT" "jar"]
+ "dependencies" [... ["com.github.luxlang" "stdlib" "0.8.0-SNAPSHOT" "tar"]
+ ["com.github.luxlang" "lux-jvm-function" "0.6.5" "jar"]]
+
+ "program" program._]]
diff --git a/lux-jvm/source/program.lux b/lux-jvm/source/program.lux
index 351c132ff..37992bb61 100644
--- a/lux-jvm/source/program.lux
+++ b/lux-jvm/source/program.lux
@@ -68,7 +68,7 @@
(import (java/lang/Class c)
"[1]::[0]"
- (getMethod [java/lang/String [(java/lang/Class java/lang/Object)]] "try" java/lang/reflect/Method))
+ (getMethod [java/lang/String [(java/lang/Class [? < java/lang/Object])]] "try" java/lang/reflect/Method))
(import java/lang/Object
"[1]::[0]"
@@ -98,7 +98,7 @@
[apply_method (|> macro
(as java/lang/Object)
(java/lang/Object::getClass)
- (java/lang/Class::getMethod "apply" _apply2_args))]
+ (java/lang/Class::getMethod (ffi.as_string "apply") _apply2_args))]
(as (Try (Try [Lux (List Code)]))
(java/lang/reflect/Method::invoke
(as java/lang/Object macro)
@@ -146,7 +146,7 @@
[method (|> handler
(as java/lang/Object)
(java/lang/Object::getClass)
- (java/lang/Class::getMethod "apply" _apply4_args))]
+ (java/lang/Class::getMethod (ffi.as_string "apply") _apply4_args))]
(java/lang/reflect/Method::invoke
(as java/lang/Object handler)
(|> (ffi.array java/lang/Object 4)