Interested Article - Kawa

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

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

Кроме того 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.

Примечания

  1. Per Bothner. // Linux Journal . — 2003. — 1 января. 4 сентября 2020 года.
  2. .
  3. Для запуска Kawa на Linux используются примерно следующие команды:
    export CLASSPATH=$CLASSPATH:/path/to/kawa/kawa-1.10.jar
    java kawa.repl
  4. Чтобы скомпилировать Scheme файл file.scm в файл класса file.class, нужно использовать параметр -C : java kawa.repl --main -C file.scm
  5. . Дата обращения: 9 марта 2012. 9 марта 2012 года.
  6. . Дата обращения: 9 марта 2012. 31 марта 2012 года.

Литература

  • Kuassi Mensah. 5.2.3. Proof of Concept #3: Running Kawa (Scheme) in the Database // . — Digital Press, 2011. — 1121 с. — ISBN 9780080525112 .
Источник —

Same as Kawa