To ABCL developers,
I tried to use the java to lisp interpreter in Android, however, I received an error message; "Could not find method java.beans.Introspector.getBeanInfo, referenced from method org.armedbear.lisp.Java.getPropertyDescriptor". I've learned that Android doesn't support the use of Java beans.
Would there be another way to compile ABCL without implementing Java beans?
Thanks, Joe
On 18 August 2011 06:07, Joe Mendoza joemndza_212004@hotmail.com wrote:
To ABCL developers, I tried to use the java to lisp interpreter in Android, however, I received an error message; "Could not find method java.beans.Introspector.getBeanInfo, referenced from method org.armedbear.lisp.Java.getPropertyDescriptor". I've learned that Android doesn't support the use of Java beans. Would there be another way to compile ABCL without implementing Java beans?
Well, first of all, we don't target Dalvik, which is the virtual machine on Android, which is not-at-all like a normal JVM. Second, the runtime environment on Android is not compatible with a normal JRE, so even running the interpreter on it is completely unattempted and very much unlikely to work.
Patches welcome. :) There hasn't been a high priority about making abcl run on Android, but it's sort of a bubbling-under idea that we would consider if there was enough time to explore it.
On 8/18/11 5:07 AM, Joe Mendoza wrote:
Would there be another way to compile ABCL without implementing Java beans?
I've created a [patchset that compiles ABCL under android-r13][1] by removing the parts dependent on JSR-292 scripting, the rudimentary Swing interface and the parts that allow inspection of Java beans.
[1]: http://detroit.slack.net/~evenson/abcl/abcl-android-20110818a.diff
I haven't tried actually running the resulting code yet, as I've got to read up up on using the Android SDK so there may well be further hurdles to getting an ABCL interpreter running.
As Ville has noted, our compiler currently only targets the Java 5 JVM, so ABCL will only initially run in interpreted mode on Android. Creating the necessary abstractions to target the Dalvik runtime will probably not be a small amount of work, but it would be very useful for ABCL. An implementation path might be to compile to an intermediate format, say LLVMs', and then compile back to both the JVM and Davlik. But such a project is probably beyond the resources of the currently known ABCL development community. If people are prepared to step forward with resources in terms of either developers and/or (potentially) cash, we could start hashing out how best to achieve this.
Idle question for the lazy web: Is there currently no other Common Lisp that runs on Android?
On 18 August 2011 22:47, Mark Evenson evenson@panix.com wrote:
Idle question for the lazy web: Is there currently no other Common Lisp that runs on Android?
Well, native implementations can be built via the NDK.
On 18 August 2011 22:59, Ville Voutilainen ville.voutilainen@gmail.com wrote:
On 18 August 2011 22:47, Mark Evenson evenson@panix.com wrote:
Idle question for the lazy web: Is there currently no other Common Lisp that runs on Android?
Well, native implementations can be built via the NDK.
There are reports of at least ECL, and for almost-lisp, Clojure. The latter one should obviously electrify us to port abcl to android by, say, tomorrow. :)
armedbear-devel@common-lisp.net