Developer(s) | Per Bothner |
---|---|
Stable release |
2.2.1 / November 26, 2016R7RS compatibility)
(w/ |
Written in | Scheme / Java |
Operating system | Cross-platform |
Platform | Java Virtual Machine |
Type | Scheme programming language interpreter/compiler |
License | MIT License |
Website | https://www.gnu.org/software/kawa/ |
Kawa is a language framework written in Java that implements the programming language Scheme, and can be used to implement other languages. It is a part of the GNU Project.
The name "Kawa" comes from the Polish word for coffee – a play on words, since Java is another familiar name for coffee.
Besides using the Scheme programming language, Java object fields and methods can be accessed using code like this:
This will invoke a Java method, and does the same thing as object.method(argument, ...) in Java.
An object's fields can be accessed with:
or
Static (class) methods can be invoked with the function "invoke-static".
Kawa can be extended with Java code (by creating scheme functions in Java), as well as combined with other JVM implementations.
To run Kawa on GNU/Linux:
To compile a Scheme file to a class file, the -C parameter is used:
This will produce "file.class", which can be run by typing "java file". It is also possible to create an applet or servlet (to compile a servlet, "servlet-xxx.jar" must be in the CLASSPATH variable).