This is the mail archive of the guile@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: Mailing List... where are you?


> As far as I know Kawa is a Scheme implementation *on top* of a java
> virtual machine, no? 

Yes.

> What do you think, would it be possible to extend your
> jvm in such a way that it can also evaluate guile code?

First, Kawa is *not* a jvm;  it *requires* a jvm.

Secondly, it is not that easy to answer, because it depends on
the Guile code.  A major goal for Guile is as an extension
language for other programs, usually written in C or C++.  Hence
an important part of Guile is the low-level interface to C.

Similarly, a major for Kawa is as an extension langauge for other
programs, usually written in Java.  Hence an important part of
Kawa is the low-level interface to Java.

However, while you can link C/C++ libraries with Java, it is
difficult to provide an efficient and portable implementation
of the Guile C API for accessing Kawa objects from C.  It
is easier if you restrict yourself to a single Java
implementation, such as Cygnus's gc-based gcj.

So at least for now, I think it makes most sense to view
Guile as the preferred Scheme extension language for
systems primarily C-based, while Kawa is the preferred
extension language for systems primarily Java-based.

For systems that are primarily or completely written in
Scheme, I guess it's a matter of personal preference.
One down-side of Kawa is that it *does* require a Java
implementation, which is not as portable (or free) as a
C implementation - though we hope gcj will help solve that.

> So why not port the evaluator you've written to guile? :)

I have no idea what you mean by "porting" the evaluator
to Guile.  I don't think it makes sense.

For a paper on the internals of Kawa, see
	http://sourceware.cygnus.com/kawa/papers/

	--Per Bothner
Cygnus Solutions     bothner@cygnus.com     http://www.cygnus.com/~bothner