This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: invoke-static


Jim White wrote:
I thought this was an issue where the compiler could do a better job if the target supported certain features.

If the question is whether Kawa will try to continue to run on 1.1 JVM's at all, then I think it would be a considerable shame to lose 1.1 compatibility.

It's the latter. And I agree. The source-code by default will assume and make use of Java2 features. However, if you do 'make select-java1' it will patch the source code to only make use of Java 1 features. I think that's an ok solution.

Seems to me that these host/target platform compatibility issues would be better handled within Kawa itself (rather than using Java source and build extensions).

Perhaps Kawa needs to eat more of its own dog food...

Yes, it would be better if more of the Scheme run-time environment were written in Scheme - and gradually various functions are being re-written in Scheme. But there are some complications: * Some of the Kawa run-time (gnu.bytecode, gnu.math, gnu.lists for example) are generally useful libraries, and I don't want to have them depend on the Kawa compiler. * Kawa is not just a Scheme system - it's a multi-language framework. Should core parts of the Kawa run-time be written in and depend on Scheme? That means everybody who wants to debug Kawa has to understand Scheme. * Having too much of the system be written in a language other than Java complicates boostrapping and development. * You would need some kind of conditional compilation mechanism anyway, though you could use Scheme macros.

I'ld really like to get the Ant build to the point where you use it rather than make. I know there is some gcj-specific stuff that probably needs to use make, but that could be generated by the Ant build.

In addition to the gcj-specific stuff - which is a fair bit of code, if you also include shared library support, there is also 'make check' and 'make dist'. I run 'make check' all the time. It would be nice to have Ant support for 'check'. Unfortunately, the Kawa testsuite is a rather ad hoc collection of different kinds of tests. It would be nice to standardize these more, perhaps using somthing similar to JUnit, but not all the tests are easily expressible using a JUnit framework.

One of the cool things that can be done with Ant is that Kawa script can be embedded in the Ant script itself (via BSF). Also since Ant is Java, Kawa can easily use Ant tasks for cross-platform file manipulation, version control, and networking stuff.

Yes. But the "autotools" framework (amke+autoconf+automake+libtool) is very powerful. It supports cross-compilation and shared library creation, for example. -- --Per Bothner per at bothner dot com http://per.bothner.com/



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