Java
Java is a popular programming language which features a
tremendous amount of libraries, and sometimes it's of
interest to exploit the Java code-base and communicate
with Java-programs.
Packages that help with CL/Java integration:
- CL+J - CL+J is an exact, safe and complete Common Lisp interface to Java through JNI. In CL+J, Java methods are seen as normal Common Lisp functions with a somewhat different naming convention and Common Lisp functions can be exposed to Java as native methods. CL+J uses CFFI to accomplish this.
- Foil (Foreign Object Interface for Lisp) consists of a protocol and a set of libraries that facilitate access to popular object runtimes, such as the JVM and the CLI/CLR, and their libraries, from Lisp.
- jLinker is part of Franz' ACL, and automates the interfacing of Java and Lisp.
- JACOL claims to be "a framework for allowing Java and Common Lisp to interoperate. It's intended use is to enable Common Lisp to function as an extension language for Java. But, it can also be used to expose Java APIs (such as Swing and DOM) to Lisp applications", though I haven't tried it yet. (latest release 2003-03-27)
- Linj translates Lisp (though not quite Common Lisp) to Java programs. It was originally located here
(now defunct). Sources disappeared, but they can be found here now: link. Note: from what I (Karol Skocik) know, Linj was created before generics got into Java - and the generated Java code will not be generics aware.
- jfli provides comprehensive, safe, dynamic and Lisp-y access to Java and Java libraries as if they were Lisp libraries, for use in Lisp programs, i.e. with an emphasis on working in Lisp rather than in Java.
- Decaf is an Java debugger written in Lisp using CLIM.
- TINA is a config system that has implementations for both Java and Lisp, with identical syntax and semantics.
- com.celebrityresorts.share.lisp-java provides a simple socket server on the Lisp side with a basic API for managing connections and state. A Java client is provided which speaks in sexps to the server. This can be used to create Swing GUIs and the like.
- Armed Bear Lisp - Armed Bear Common Lisp (aka ABCL) is a Common Lisp implementation that runs on a Java Virtual Machine
- JACOL - The JACOL system can be used to link Java and Common Lisp applications
- jss - jss is an extension for Armed Bear Lisp that makes it easier for me(AlanRuttenberg) to write lisp code that calls java libraries
- LIJOS - The LIJOS system is a Lisp Implementation of the Java ObjectStream
- Lisplets - Lisplets are Java Servlets that forward their requests, and gather their response headers, using s-expressions over sockets
- SAVA - SAVA is a utility to express and manipulate Java source code in s-exp form, and pretty-print it for compilation by Java compilers
Pages in this topic: Armed Bear Lisp JACOL jss LIJOS Lisplets SAVA
Also linked from: Changes in June 2000 Current recommended libraries Cut and shut Decaf index Mark Davidson Marko Kocic opencyc win32 Wish List
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively