Lisp | |
Разработано | Пер Ботнером |
Разработчик | Сообщество Kawa |
Впервые появилось | 9 февраля 1998 г.; 22 года назад (1998-02-09) |
Стабильный выпуск | 3.1.1 / 16 января 2020 г.; 9 месяцев назад (2020-01-16) (с R7RS совместимостью) |
Язык реализации | Java, Схема |
Платформа | Виртуальная машина Java |
OS | Межплатформенная |
Лицензия | MIT |
Веб-сайт | www.gnu.org / software / kawa |
Под влиянием | |
Lisp, Scheme |
Kawa - это язык framework, написанный на языке программирования Java, который реализует язык программирования Scheme, диалект Лисп, и может использоваться для реализации других языков для работы на виртуальной машине Java (JVM). Это часть проекта GNU.
Имя Kawa происходит от польского слова, обозначающего кофе; игра слов, поскольку Java - еще одно знакомое название кофе.
Помимо использования языковой схемы, объект Java Доступ к полям и методам можно получить с помощью такого кода, как: (вызвать аргумент метода объекта...)
. Это вызовет метод Java и сделает то же самое, что и object.method (argument,...)
в Java. Доступ к полям объекта можно получить с помощью: объект: имя-поля
или (вызвать имя-поля объекта)
. Статические (классовые) методы можно вызывать с помощью функции invoke-static
. Kawa можно расширить с помощью кода Java (путем создания схемных функций на Java) и объединить с другими реализациями JVM.
Kawa можно запустить обычным образом с помощью сценария kawa
:
$ kawa [необязательные аргументы]...
В качестве альтернативы, Kawa может запускаться вручную:
$ java -jar /path/to/kawa/kawa.jar [необязательные аргументы]...
Чтобы скомпилировать файл схемы в файл класса, -C
используется параметр:
$ java kawa.repl --main -C file.scm
Это создаст file.class
, который можно запустить, набрав java file
. Также возможно создать апплет или сервлет (для компиляции сервлета servlet-xxx.jar
должен быть в переменной CLASSPATH
).