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] |
> 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