Kawa — реализация языка Scheme, диалекта языка Лисп, обеспечивающая тесную интеграцию с java-окружением.

Включает в себя как интерпретаторДля запуска Kawa на Linux используются примерно следующие команды: export CLASSPATH=$CLASSPATH:/path/to/kawa/kawa-1.10.jar java kawa.repl, так и компилятор в код виртуальной машины Java (JVM)Чтобы скомпилировать Scheme файл file.scm в файл класса file.class, нужно использовать параметр -C: java kawa.repl --main -C file.scm.

Кроме того Kawa представляет собой фреймворк, для реализации высокоуровневых динамических языков. Так, с его помощью, реализованы XQuery (Qexo) и Emacs Lisp (JEmacs).

Интеграция с Java

Одна из особенностей диалекта Scheme, реализованного в Kawa — простота доступа к Java объектам.

Для вызова метода объекта используется код следующего вида:

(invoke object 'method argument ...)

Это выполнит вызов метода объекта, т.е. произойдет действие аналогичное object.method(argument, …) в Java.

Для доступа к полям объекта:

object:field-name или (invoke object 'field)

Статические методы класса вызываются с помощью функции «invoke-static».

Kawa позволяет создавать лисп-функции на языке Java.

Примечания

Литература

Категория:Свободные компиляторы и интерпретаторы Категория:Реализации языка программирования Scheme Категория:Реализации языков программирования для платформы Java Категория:Программное обеспечение проекта GNU