Java implementation of Common Lisp

I am looking for a public domain Java implementation of Common Lisp or reasonable subset.

Any references appreciated.

Please at lease respond to me privately.

Thanks

-steve

Tue, 12 Aug 2003 02:27:54 GMT

Colin Walter#2 / 9

Java implementation of Common Lisp

Quote:

> I am looking for a public domain Java implementation of Common Lisp > or reasonable subset.

I think Per Bothner's "Kawa" has some support for Common Lisp. I've been meaning to look at it for a while.

<URL:http://www.gnu.org/software/kawa>

It's not public domain, but protected by the GNU GPL.

Tue, 12 Aug 2003 04:09:08 GMT

David Bakhas#3 / 9

Java implementation of Common Lisp

Quote:

> I am looking for a public domain Java implementation of Common Lisp > or reasonable subset.

just doing a little search on freshmeat:

http://sourceforge.net/projects/jlisp/

dave

Tue, 12 Aug 2003 11:01:27 GMT

Mike McDona#4 / 9

Java implementation of Common Lisp

Quote:

>> I am looking for a public domain Java implementation of Common Lisp >> or reasonable subset.

> just doing a little search on freshmeat:

> http://sourceforge.net/projects/jlisp/

> dave

Doing a little more research and you'd find that it's an empty project template.

The whole idea of a CL running on the JVM just makes my skin crawl. And we keep wondering why everyone thinks CL is slow. How come no one asks for a C++ on JVM?

Mike McDonald

Tue, 12 Aug 2003 11:21:42 GMT

Frank A. Adria#5 / 9

Java implementation of Common Lisp

Quote:

> The whole idea of a CL running on the JVM just makes my skin crawl. And we > keep wondering why everyone thinks CL is slow. How come no one asks for a C++ > on JVM?

Because they know that simulating the memory and pointers would be even slower for a JC++ than would be a decent implementation of Lisp on the JVM. By the time you got exceptions right and had enough structure to handle lexical variables properly, you'd be running an interpreter anyway and the thing would be dog slow. Not to mention the hideous penalty you'd pay for any arithmetic. All-in-all, an experiment that probably should not be attempted except for a lark.

faa

Tue, 12 Aug 2003 13:47:03 GMT

Espen Vestr#6 / 9

Java implementation of Common Lisp

Quote:

> The whole idea of a CL running on the JVM just makes my skin crawl. And we > keep wondering why everyone thinks CL is slow. How come no one asks for a C++ > on JVM?

> > I am looking for a public domain Java implementation of Common Lisp > > or reasonable subset.

You can use any large application written in Java to get what you're looking for, because of Greenspun's Tenth Rule of Programming: "Any sufficiently complicated C or fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp."

The law is true for Java too.

-- joe - still on the search of enlightened laziness

Wed, 13 Aug 2003 04:58:22 GMT

Per Bothne#8 / 9

Java implementation of Common Lisp

Quote:

> I think Per Bothner's "Kawa" has some support for Common Lisp. I've > been meaning to look at it for a while.

> <URL:http://www.gnu.org/software/kawa>

Recently, I've been working re-doing the Kawa parser, so it conforms closer to the Common Lisp reader algorithm, including using read-tables. (This is all written in Java, but it uses suitable data structures, so it should be easy writing the standard CL functions as wrappers on the Java methods.) Don't know when it will be working well enough to check in, though. The parser stuff is basically done, but the code is intertwined with other changes I'm making, including changes to the support for 2-Lisp (i.e. separate data and function namespaces). The existing code sort-of-works, but isn't really extensible to using packages.

Nothing big to tell here - just letting people know that I am plugging away at improving the Common Lisp support in Kawa (along with other projects). -- --Per Bothner

Sat, 16 Aug 2003 16:05:57 GMT

Per Bothne#9 / 9

Java implementation of Common Lisp

Quote:

> The whole idea of a CL running on the JVM just makes my skin crawl. And we > keep wondering why everyone thinks CL is slow. How come no one asks for a C++ > on JVM?

First of all, the idea (well, my idea) is to *compile* Common Lisp into Java bytecodes. Thus you avoid the double interpertation overhead. Second, many JVMs include "just-in-time-compilation" - i.e. the bytecode is compiled in-the-fly to native code. Thus because of all the engineering being put into JVMs these days, it is quite plausible that CL running on JVM might actually be quite fast.

Slightly related note: I have been working on compiling Kawa, including the parts written in Scheme and Common Lisp, into native machine code, using Gcj the Gcc-based Java compiler. I hope to be able to check that in (to CVS) soon. -- --Per Bothner