Kawa is a language framework written in the programming language Java that implements the programming language Scheme, a dialect of Lisp, and can be used to implement other languages to run on the Java virtual machine (JVM). 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.

Kawa is notable as one of the few programming languages with support for units of measure in the form of quantities. [citation needed]

Integration with Java

Besides using the language Scheme, Java object fields and methods can be accessed using code such as: (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-name). Static (class) methods can be invoked with the function invoke-static. Kawa can be extended with Java code (by creating scheme functions in Java), and combined with other JVM implementations.

See also

External links

Timeline of Lisp dialectsvte
19581960196519701975198019851990199520002005201020152020
LISP 1, 1.5, LISP 2(abandoned)
Maclisp
Interlisp
MDL
Lisp Machine Lisp
SchemeR5RSR6RSR7RS small
NIL
ZIL (Zork Implementation Language)
Franz Lisp
muLisp
Common LispANSI standard
Le Lisp
MIT Scheme
XLISP
T
Chez Scheme
Emacs Lisp
AutoLISP
PicoLisp
Gambit
EuLisp
ISLISP
OpenLisp
PLT SchemeRacket
newLISP
GNU Guile
Visual LISP
Clojure
Arc
LFE
Hy