Nick Sieger writes: > > >> The translation layer could handle things like the java method > > >> signature returning, say, a hashmap. The layer could have a > > >> hashmap to alist converter. > > > > > > I've actually got a working prototype of a generic > > > interface/translation layer that does just that. For now, I'm > > > calling it JUCI (JDEE Universal Communication Interface). It > > > allows elisp to call java and java to call back to elisp in a > > > standard manner. It's still very alpha. One (minor, IMHO) > > > drawback is that it requires JDK 1.3 or greater, because I'm > > > making use of the java.lang.reflect.Proxy mechanism. > [..elided...] > > > > I see. You aren't referencing the beanshell here. Are you > > opening up a direct connection to a JVM? > > Well, I didn't, but the beanshell is still directly involved. Elisp > sends strings to the beanshell which invokes java code, and java code > invokes interfaces which, through a proxy, print lisp forms back to > stdout and are evaluated by `bsh-eval-r'. >
Nick, Would the Java side be able to define an interface for and invoke (through the proxy) Lisp functions that take arguments. Your example showed invocation only of a parameterless function. If so, I think your JUCI is very elegant and hope that you will proceed with its development. I'd be glad to incorporate it into the JDEE for you or get you commit authorization for the JDEE CVS repository so you could do it yourself. Regards, Paul