From: Lee Swomley

Subject: Re: lisp-java interface

Date: 2000-9-13 18:20

Here is a brief update on the J-Linker and Jill functionality. You will be 
able to find more information on the Franz web-site in the next several weeks.

The new functionality that our developers are currently working on for 
Allegro CL v6.0 includes the following:

*Source Level Debugging                           *Franz Web Server
*Mail Support                                           *SSL Support
*Lisp-Java Interface                                   *Dynamic Java Compiler
*Dynamic Parser/Generator of HTML          *Dynamic XML Importer/Exporter

Allegro Serve is out and can be found on the web site, www.franz.com

Here is some advanced news on the Java features:

JLinker (Allows Allegro CL to evaluate Java expressions-for communication 
with unsuspecting Java applications)

Jill (A language that expresses Java semantics using Lisp syntax, and an 
in-memory compiler that compiles to Java class files. The Java application 
then loads in that class file. For example, LavaLink can generate Java 
class files at Runtime and send these to the browser. The browser can read 
in the Java code.)

Java Tools Suite for Allegro CL v6.0

Our goal in developing these tools was to provide a way of communication 
between Java and Allegro CL,  and enabling Allegro CL
programmers to leverage the large number of Java class libraries.

The first tool, JLinker, allows Allegro CL to call Java methods and Java to 
call Lisp functions.  This makes Java development
dynamic and avoids the edit-compile-link cycle since the control flow 
between calls to Java methods can be developed in the
dynamic Lisp environment.  Since JavaLink uses TCP/IP to communicate with 
Java, it allows the Java code to be run on a machine
different from the development machine.

This "link" is very easy to use because 1) no additional software needed 2) 
it simply call Java methods ...

A significant benefit of JLinker is that the Java code does not need to be 
modified, prepared, or "wrapped" in any way.  The Java
source code is not necessary.  In contrast, Java RMI is simply a protocol 
that allows distributed Java applications to be written.
Corba is also a protocol that requires wrappers to interface the various 
components.

The second tool, JiL, is a language that expresses Java semantics (meaning) 
using Lisp syntax (grammar), and an in-memory
compiler that compiles to Java class files (bytecode). The Java application 
then loads in that class file (bytecode). For example, JiL
(running in a web server such as AllegroServe) can generate Java class 
files (bytecode) at runtime, and send these to the browser.
The browser can read in the Java code, and execute it, allowing Allegro CL 
developers to communicate with, and add functionality
to, the front end while never having to leave the Allegro CL environment.

The key benefits of JiL is that developers can write Java code using Lisp 
syntax, and  leverage the power Lisp's interactive
environment and functionality, such as macros, that are not available  in Java.

These tools have benefits over RMI because you do not have to build an 
interface, between Java and Lisp, before calling Java
functions. Only the class or Bean  name needs to be sent. This also enables 
quicker evolution of an application.

The fact that in CL one can call any function at any layer in the 
application, gives developers the benefit of testing an application at
any point in the code - there is no need to compile the entire application.


At 11:14 AM 9/13/00 -1000, Ralph Freese wrote:

>Is there someplace I can get more info on jLinker (and ACL6)? > > thanks ralph > > Ralph Freese | E-Mail: <math.hawaii.edu at mailto:ralph> > Department of Mathematics | WWW: <http://www.math.hawaii.edu/~ralph> > University of Hawaii | Phone: (808) 956-8595 > Honolulu, Hawaii 96822 | Fax: (808) 956-9139 > >On Wed, 13 Sep 2000, Francis Leboutte wrote: >
> > At 12/09/00 15:11 -0700, Matt Wilczynski wrote:
> > > Would anyone know where to find a lisp to java > > > interface? Specifically, I would like to make JDBC calls from within > > > lisp. I would like to avoid the use of CORBA, as this is more of a > > > temporary hack than a long term solution.
> > > > Allegro jLinker is coming ... (ACL6, November probably): > >
> > >Allegro jLinker: Allows Allegro CL to call Java methods > > >and Java to call Lisp functions. Java source code is > > >not necessary and the Java code does not need to be modified, > > >prepared, or "wrapped" in any way.
> > > > > > -- > > Francis Leboutte > > Algorithme, Rue de la Charrette 141, 4130 Tilff, Belgium > > <algo.be at fl> <acm.org at leboutte> > > www.algo.be +32-(0)4.388.3919 > > > > > > > >