Better integration between ABCL & Java

Blake McBride blake at mcbride.name
Tue Aug 25 16:48:53 UTC 2015


Greetings,

I worked hard on a project to link ABCL with a very large Java
application.  Although the addition of ABCL to that project failed, the
work I did could be of use, and with some effort could be made to solve the
problem I had.  I believe the original problem I had would be a very common
problem in similar circumstances.

My pre-existing Java application has almost 10,000 classes!  I wasn't about
to create lisp cover functions for each java method.  I also wasn't going
to use a convoluted syntax to get to java each time.

What I did was create some Java and Lisp code that, through reflection,
caused the system to auto-generate a complete set of CLOS classes to mirror
my primary java application classes - including the class hierarchy.  The
methods in these CLOS classes would call the Java methods.  With this, when
in Lisp, I could just use all of my Java classes and methods as regular
CLOS classes and methods.  It's use of Java classes and methods internally
was transparent to lisp.  All of this worked fine.

The problem I ran into was the fact that Java can have several methods with
the same name but different arguments.  So, the Java method being called
depended on the types and number of arguments too (not just the class of
the instance and the method name).  I never solved this, although I think
it could be.  I just ran out of time and steam, as well as other
non-technical reasons.

The reason I bring this all up now is because I am unclear about what
problems Ralph is trying to solve.  I thought what I have done may be of
use.

Thanks.

Blake McBride
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20150825/d94d19b4/attachment.html>


More information about the armedbear-devel mailing list