Кава (реализация схемы) - Kawa (Scheme implementation)

Кава
Kawa-logo.svg
СемьяЛисп
РазработаноПер Ботнер
РазработчикСообщество Кава
Впервые появился9 февраля 1998 г.; 22 года назад (1998-02-09)
Стабильный выпуск
3.1.1 [1] / 16 января 2020; 10 месяцев назад (2020-01-16) (ж /R7RS совместимость)
Язык реализацииЯва, Схема
ПлатформаВиртуальная машина Java
Операционные системыКроссплатформенность
ЛицензияМассачусетский технологический институт
Интернет сайтwww.gnu.org/программного обеспечения/ кава
Под влиянием
Лисп, Схема

Кава это язык рамки написано на языке программирования Ява который реализует язык программирования Схема, диалект Лисп, и может использоваться для реализации других языков для работы на Виртуальная машина Java (JVM). Это часть Проект GNU.

Название Кава исходит из Польский слово для кофе; игра слов, поскольку Java - еще одно знакомое название кофе.

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

Помимо использования языковой схемы, к полям и методам объектов Java можно получить доступ с помощью такого кода, как: (вызывать объект 'метод аргумент ...). Это вызовет метод Java и сделает то же самое, что и объект.метод(аргумент, ...) в Java. Доступ к полям объекта можно получить с помощью: объект: имя-поля или же (вызывать объект 'имя-поля). Статические (классовые) методы можно вызывать с помощью функции invoke-static. Kawa можно расширить с помощью кода Java (путем создания схемных функций на Java) и объединить с другими реализациями JVM.

Как пользоваться

Kawa можно нормально запустить через кава сценарий:

$ кава [необязательные аргументы] ...

Как вариант, Kawa можно запустить рукой:

$ java -jar /path/to/kawa/kawa.jar [необязательные аргументы] ...

Чтобы скомпилировать файл схемы в файл класса, -C параметр используется:

$ java kawa.repl --main -C file.scm

Это произведет file.class, который можно запустить, набрав файл java. Также возможно создать апплет или сервлет (чтобы скомпилировать сервлет, сервлет-xxx.jar должен быть в КЛАСС Переменная).

Смотрите также

внешняя ссылка

  1. ^ "Кава: Новости - Последние изменения". gnu.org. Получено 2020-02-14.