Kawa — реализация языка Scheme, диалекта языка Лисп, обеспечивающая тесную интеграцию с java-окружением[1][2].
Включает в себя как интерпретатор[3], так и компилятор в код виртуальной машины Java (JVM)[4].
Кроме того Kawa представляет собой фреймворк, для реализации высокоуровневых динамических языков. Так, с его помощью, реализованы XQuery (Qexo[5])[2] и Emacs Lisp (JEmacs[6])[1].
Интеграция с Java
Одна из особенностей диалекта Scheme, реализованного в Kawa — простота доступа к Java объектам.
Для вызова метода объекта используется код следующего вида:
(invoke object 'method argument ...)
Это выполнит вызов метода объекта, т.е. произойдет действие аналогичное object.method(argument, …) в Java.
Для доступа к полям объекта:
object:field-name
или
(invoke object 'field)
Статические методы класса вызываются с помощью функции «invoke-static».
Kawa позволяет создавать лисп-функции на языке Java.
Примечания
Литература
|
---|
Характеристики | |
---|
Реализации | |
---|
Аппаратное обеспечение | |
---|
Сообщество | |
---|
|