I'm interested in compile clojure code to native app with robovm, similar to scala https://github.com/roboscala/roboscala-samples
I need run small scripts, create a native binary could help me to avoid a big jvm which consume a lot of resources and with slow start up, basically I dont need the nice oracle jvm performance, but I wish use a clean and simple language as clojure
Is possible run clojure in robovm similar to how scala do?..or the dynamic nature of clojure makes it impossible?...
I've found this lein plugin but it only allows compile to iOS and I wish use clojure and robovm for desktop apps
following the tutorial this start good but fails at the end https://github.com/robovm/robovm/wiki/Get-started-on-Linux
a lot of compiled code here......................
Compiling clojure.lang.Var (linux x86 release)
Compiling clojure.lang.ARef (linux x86 release)
Compiling clojure.lang.IRef (linux x86 release)
Compiling clojure.lang.Settable (linux x86 release)
Compiling clojure.lang.Var$1 (linux x86 release)
Compiling clojure.lang.Var$2 (linux x86 release)
Compiling clojure.lang.Var$3 (linux x86 release)
Compiling clojure.lang.Var$Frame (linux x86 release)
Compiling clojure.lang.Var$TBox (linux x86 release)
Compiling clojure.lang.Var$Unbound (linux x86 release)
Compiled 666 classes in 78.42 seconds
Linking 1971 classes
Building executable /tmp/robovm5738725927760604511.tmp/robotry.core
g++ -o /tmp/robovm5738725927760604511.tmp/robotry.core -m32 @/tmp/robovm5738725927760604511.tmp/objects -L /home/yo/Downloads/proj/robovm-1.0.0-alpha-04/lib/vm/linux/x86 -Wl,-rpath=$ORIGIN -Wl,--gc-sections -lrobovm-bc -Wl,--whole-archive -lrobovm-rt -Wl,--no-whole-archive -lrobovm-debug -lrobovm-core -lgc -lpthread -ldl -lm -lrt
Linked 1971 classes in 223.52 seconds
/tmp/robovm5738725927760604511.tmp/robotry.core -rvm:log=warn
java.lang.ExceptionInInitializerError
at clojure.lang.Namespace.<init>(Namespace.java)
at clojure.lang.Namespace.findOrCreate(Namespace.java)
at clojure.lang.Var.internPrivate(Var.java)
at robotry.core.<clinit>(Unknown Source)
Caused by: java.lang.UnsupportedOperationException: can't load this type of class file, compiling:(clojure/core.clj:29:7)
at clojure.lang.Compiler.analyzeSeq(Compiler.java)
at clojure.lang.Compiler.analyze(Compiler.java)
at clojure.lang.Compiler.access$100(Compiler.java)
at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java)
at clojure.lang.Compiler.analyzeSeq(Compiler.java)
at clojure.lang.Compiler.analyze(Compiler.java)
at clojure.lang.Compiler.analyze(Compiler.java)
at clojure.lang.Compiler.eval(Compiler.java)
at clojure.lang.Compiler.load(Compiler.java)
at clojure.lang.RT.loadResourceScript(RT.java)
at clojure.lang.RT.loadResourceScript(RT.java)
at clojure.lang.RT.load(RT.java)
at clojure.lang.RT.load(RT.java)
at clojure.lang.RT.doInit(RT.java)
at clojure.lang.RT.<clinit>(RT.java)
... 4 more
Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
at java.lang.ClassLoader.defineClass(ClassLoader.java)
at clojure.lang.DynamicClassLoader.defineClass(DynamicClassLoader.java)
at clojure.lang.Compiler$ObjExpr.getCompiledClass(Compiler.java)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java)
... 19 more
anyone has had luck compiling clojure with robovm?..are the some resources or tutorial about how achieve this?..thanks!