This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: bytecode interpreter + dynamic compilation


Doug Evans <dje@transmeta.com> writes:

> One question is whether Kawa is appropriate for all intended
> uses of Guile.

Well, Kawa is more heavy-weight than Guile:  It requires a
Java run-time environment, which can be a lot of stuff.
(There are small JVMs available, including "PersonalJava"
and "EmbeddedJava", bu I haven't tried porting Kawa to them.)
For most desktop/server applications, it shouldn't be an issue.

If you want to add a scripting layer on top of an application mostly
written in C or C++, then Guile is probably more suitable than Kawa.

However, for applications that are mostly Scheme (with perhaps a small
amount of "foreign code"), I think Kawa is worth considering.  (For
applications mostly written in Java, even more so, of course.)  It is
GNU software; it should run faster than Guile; feature-wise it is
comparable to Guile (Guile has some features Kawa doesn't have and
vice versa); and Kawa has a reasonably complete reference manual.  (I
try to document features as I implement them.)

There are also "Free Software" issues.  I have mostly developed Kawa
using Sun's JDK, which is "free" but far from "Free".  In theory Gcj
(the gcc-based Gnu Compiler for the Java language) should be able to
compile Kawa, but it's been a while since I've been able to get that
to work.  (Another free JVM I haven't tried in a while is Kaffe.)

> Also, a personal goal is to have an application independent
> dynamic compilation toolkit (which Guile would be but one user of).

Yes, that would be nice, especially if it could be used for a
Java-bytecode JIT, as well as other "front-ends".  (Java bytecode
works OK for Scheme, as long as you don't require full tail-call
elimination and call/cc.  Those features can be implemented on the
JVM, but it's somewhat painful.)
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/~per/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]