Кава (реализация схемы) - Kawa (Scheme implementation)
![]() | |
Семья | Лисп |
---|---|
Разработано | Пер Ботнер |
Разработчик | Сообщество Кава |
Впервые появился | 9 февраля 1998 г. |
Стабильный выпуск | |
Язык реализации | Ява, Схема |
Платформа | Виртуальная машина Java |
Операционные системы | Кроссплатформенность |
Лицензия | Массачусетский технологический институт |
Интернет сайт | www |
Под влиянием | |
Лисп, Схема |
Кава это язык рамки написано на языке программирования Ява который реализует язык программирования Схема, диалект Лисп, и может использоваться для реализации других языков для работы на Виртуальная машина 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
должен быть в КЛАСС
Переменная).
Смотрите также
внешняя ссылка
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1.5, LISP 2(заброшенный) | ||||||||||||||
Маклисп | ||||||||||||||
Интерлисп | ||||||||||||||
Лисп-машина Лисп | ||||||||||||||
Схема | R5RS | R6RS | R7RS маленький | |||||||||||
Ноль | ||||||||||||||
Ференц Лисп | ||||||||||||||
Common Lisp | ||||||||||||||
Le Lisp | ||||||||||||||
Т | ||||||||||||||
Chez Scheme | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
ПикоЛисп | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
Схема PLT | Ракетка | |||||||||||||
GNU Guile | ||||||||||||||
Визуальный LISP | ||||||||||||||
Clojure | ||||||||||||||
Дуга | ||||||||||||||
LFE | ||||||||||||||
Hy |
- ^ "Кава: Новости - Последние изменения". gnu.org. Получено 2020-02-14.