ISLISP - ISLISP
Парадигмы | Мультипарадигма: функциональный, процедурный, объектно-ориентированный, отражающий, мета |
---|---|
Семья | Лисп |
Разработано | Много |
Разработчики | Много |
Язык реализации | C, C #, Идти, Ява, JavaScript, Лисп |
Платформа | IA-32, x86-64 |
Операционные системы | Windows, macOS, Linux, BSD, AIX, Солярис, Android, QNX |
Диалекты | |
dayLISP, Easy-ISLisp, Iris, ISLisproid, Kiss, OKI ISLISP, OpenLisp, ПРАЙМ-ЛИСП | |
Под влиянием | |
Common Lisp, EuLisp, Le Lisp, Схема |
ISLISP (также с заглавной буквы как ISLisp) это язык программирования в Лисп семья стандартизирована Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) совместная рабочая группа ISO / IEC JTC 1 / SC 22 / WG 16[1][постоянная мертвая ссылка ] (обычно называют просто SC22 / WG16 или WG16). Основным результатом этой рабочей группы был Международный стандарт, опубликовано ISO.[2] Стандарт был обновлен в 2007 году и переиздан как ISO / IEC 13816: 2007 (E).[3][4] Хотя официальная публикация была произведена через ISO, доступны версии спецификации языка ISLISP, которые, как предполагается, находятся в всеобщее достояние.[5]
Цель этого стандарты усилия заключались в том, чтобы определить небольшой базовый язык, чтобы помочь преодолеть разрыв между разными диалекты Лиспа. Он попытался достичь этой цели, изучая в первую очередь Common Lisp, EuLisp, Le Lisp, и Схема и стандартизация только тех функций, которые у них общие.
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 |
Цели дизайна
ISLISP преследует следующие цели проектирования:[6]
- Совместимость с существующими диалектами Лиспа, где это возможно
- Обеспечить базовую функциональность
- Объектно-ориентированный
- Дизайн для расширяемости
- Ставьте производственные нужды выше академических
- Продвигайте эффективные реализации и приложения
ISLISP имеет отдельные пространства имен функций и переменных (следовательно, это Лисп-2 ).
Объектная система ISLISP, ILOS, в основном является подмножеством Общая объектная система Lisp (ЗАКРЫТЬ).
Реализации
Реализации ISLISP были сделаны для многих операционные системы включая: Windows, наиболее Unix и POSIX основан (Linux, macOS, FreeBSD, OpenBSD, NetBSD, Солярис, HP-UX, AIX, Cygwin, QNX ), Android, ДОС, OS / 2, Карманные ПК, OpenVMS, и z / OS.
Реализации для оборудования компьютерные архитектуры включают: x86, x86-64, IA-64, SPARC, SPARC9, PowerPC, MIPS, Альфа, PA-RISC, РУКА, AArch64
Имя | Создатель | Полный ISLisp | Архитектура | Написано в | Операционная система | Лицензия | Исходный код имеется в наличии |
---|---|---|---|---|---|---|---|
OpenLisp | Элигис[7] | да | устный переводчик, компилирует в C | C, Лисп | Windows, macOS, Linux, BSD, AIX, Солярис, QNX | Проприетарный | Частичное |
OKI ISLISP[8] | Киотский университет и Oki Electric Industry Co. | да | Байт-код машина, компилируется в байт-код | C | Windows | ? | Нет |
ПРАЙМ-ЛИСП | Михаил Семенов | да | Устный переводчик | C # | Windows | Проприетарный, Условно-бесплатное ПО, свободно распространяемые двоичные файлы | Нет |
Ирис[9] | Масая Танигучи[10][постоянная мертвая ссылка ] | Нет | Устный переводчик | Идти | любой | Свободный, Общественная лицензия Mozilla 2.0 | да[11] |
Iris Web REPL[12] | Масая Танигучи[13][постоянная мертвая ссылка ] | Нет | Интерпретатор, компилируется в JavaScript | Go, JavaScript | Браузер | Свободный, Общественная лицензия Mozilla 2.0 | да[14] |
Целовать[15] | Юджи Минедзима[16] | Нет, не сейчас | Устный переводчик | C, Лисп | любой | Свободный, GPL v3 + | да[17] |
ISLisproid[18] | Хироши Гоми | Нет | Устный переводчик | Ява | Android | Проприетарный | Нет |
dayLISP[19] | Мэтью Денсон | Нет | Устный переводчик | Java, Лисп | Любой | Свободный, BSD | да[20] |
Easy-ISLisp[21] | Кеничи Сасагава | да | Интерпретатор, компилируется в C | C, Лисп | Windows, Linux | Свободный, BSD | да[22] |
Две старые реализации больше не доступны:
- TISL Масато Идзуми и Такаясу Ито (Университет Тохоку) был интерпретатором и компилятором.
- G-LISP, разработанный Йозефом Елинеком, был Java-апплетом.
Рекомендации
- ^ "Почтовый архив WG16".
- ^ «ISO / IEC 13816: 1997 (E)». Международная организация по стандартизации. Получено 2018-11-10.
- ^ «ISO / IEC 13816: 2007 (E)». Международная организация по стандартизации. Получено 2018-11-10.
- ^ "Язык программирования ISLISP: История".
- ^ «Язык программирования ISLISP: Спецификация». Архивировано из оригинал на 2016-01-22. Получено 2011-03-20.
- ^ "ISLISP.info".
- ^ "Элигис".
- ^ "ОКИ ИСЛИСП".
- ^ "Ирис".
- ^ «Масая Танигучи».
- ^ "Исходный код Iris".
- ^ "Ирис Веб REPL".
- ^ «Масая Танигучи».
- ^ "Исходный код Iris".
- ^ "Целовать".
- ^ "Юдзи Минедзима".
- ^ "Поцелуй исходный код".
- ^ "ISLisproid".
- ^ "dayLISP".
- ^ "исходный код dayLISP".
- ^ "Easy-ISLisp".
- ^ "Исходный код Easy-ISLisp".