Меню

Главная
Случайная статья
Настройки
Kawa
Материал из https://ru.wikipedia.org

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

Включает в себя как интерпретатор[4], так и компилятор в код виртуальной машины Java (JVM)[5].

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

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

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

Для вызова метода объекта используется код следующего вида:
(invoke object 'method argument ...)


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

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


или
(invoke object 'field)


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

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

Примечания
  1. https://www.gnu.org/software/kawa/Acknowledgements.html
  2. 1 2 Per Bothner. Compiling Java with GCJ // Linux Journal. — 2003. — 1 января. Архивировано 4 сентября 2020 года.
  3. 1 2 Mensah, 2011.
  4. Для запуска Kawa на Linux используются примерно следующие команды:
    export CLASSPATH=$CLASSPATH:/path/to/kawa/kawa-1.10.jar
    java kawa.repl
  5. Чтобы скомпилировать Scheme файл file.scm в файл класса file.class, нужно использовать параметр -C: java kawa.repl --main -C file.scm
  6. Qexo — The GNU Kawa implementation of XQuery. Дата обращения: 9 марта 2012. Архивировано 9 марта 2012 года.
  7. JEmacs — the Java/Scheme-based Emacs Text Editor. Дата обращения: 9 марта 2012. Архивировано 31 марта 2012 года.


Литература
Downgrade Counter