Kawa

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Kawa
Kawa-logo.svg
Тип

Интерпретатор/компилятор языка программирования Scheme

Разработчик

Per Bothner

Написана на

Scheme / Java

Операционная система

Cross-platform

Аппаратная платформа

Java Virtual Machine

Последняя версия

1.13 (10 декабря 2012)

Лицензия

MIT License

Сайт

gnu.org/software/kawa/

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

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

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

Интеграция с Java[править | править вики-текст]

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

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

(invoke object 'method argument ...)

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

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

object:field-name

или

(invoke object 'field)

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

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

Примечания[править | править вики-текст]

  1. Для запуска Kawa на Linux используются примерно следующие команды:
    export CLASSPATH=$CLASSPATH:/path/to/kawa/kawa-1.10.jar
    java kawa.repl
    
  2. Чтобы скомпилировать Scheme файл file.scm в файл класса file.class, нужно использовать параметр -C: java kawa.repl --main -C file.scm
  3. Qexo — The GNU Kawa implementation of XQuery
  4. JEmacs — the Java/Scheme-based Emacs Text Editor

Литература[править | править вики-текст]

  • Lambert M. Surhone Kawa (Scheme implementation). — βetascript publishing, 2011. — 136 p. — ISBN 978-6-1331-7029-2.