Kawa (Scheme implementation)

Kawa
Developer(s) Per Bothner
Stable release 2.1 / October 26, 2015 (2015-10-26) (w/R7RS compatibility)
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.

Integration with Java

Besides using the Scheme programming language, Java object fields and methods can be accessed using code like this:

(invoke object 'method argument ...)

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:

object:field-name

or

(invoke object 'field)

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.

How to use

To run Kawa on GNU/Linux:

 $ export CLASSPATH=$CLASSPATH:/path/to/kawa/kawa-1.10.jar
 $ java kawa.repl

To compile a Scheme file to a class file, the -C parameter is used:

$ java kawa.repl --main -C file.scm

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).

See also

External links

This article is issued from Wikipedia - version of the Monday, November 30, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.