ISLISP (или ISLisp) язык программирования из семейства языков LISP, спецификация которого была разработана рабочей группой ISO/IEC JTC 1/SC 22/WG 16[1] (обычно называемой просто SC22/WG16 или WG16). Целью разработки было определение компактного языка, который объединял бы в себе общие черты реально используемых в промышленных целях диалектов Лиспа и мог бы помочь преодолеть различия между ними.
Первый вариант был опубликован ISO в 1997 году под названием «ISO/IEC 13816:1997(E)». Обновление выпущено в 2007 году и опубликовано как «ISO/IEC 13816:2007(E)».[2] Официальные публикации стандарта проходили через ISO, но доступны черновики спецификаций, находящиеся в общественном достоянии.[3]
ISLISP характеризуется как «идеологически совместимый» с Common Lisp, он построен на тех же основных архитектурных принципах (лексическая область видимости, отдельные пространства имён для функций и переменных, макросистема, поддержка ООП), но не является его подмножеством. Спецификация ISLISP приблизительно в десять раз меньше по объёму, чем спецификация Common Lisp.
Рабочая группа изучала основные "живые" на момент разработки диалекты Лиспа, в первую очередь Common Lisp, EuLisp, Le Lisp, и Scheme; в стандарт включались только общие для них средства.
Согласно сайту ISLISP.info, ISLISP строился на следующих принципах:
ISLISP, подобно Common Lisp, поддерживает лексическую область видимости (хотя позволяет с помощью специальных средств использовать и динамические переменные), а также реализует отдельные пространства имен для функций и переменных (следовательно, это Lisp-2 ).
Объектная система ISLISP, ILOS, по большей части является подмножеством CLOS.
Название | Автор | Полная реализация ISLisp | Архитектура | Язык реализации | ОС | Лицензия | Доступность исходных текстов |
---|---|---|---|---|---|---|---|
OpenLisp | Eligis | да | интерпретатор, компиляция в C | C, Lisp | Windows, macOS, Linux, BSD, AIX, Solaris, QNX | проприетарная | частично |
OKI ISLISP | Kyoto University and Oki Electric Industry Co. | да | компиляция в байт-код, исполнение байт-кода в виртуальной машине | C | Windows | нет данных | нет |
PRIME-LISP | Михаил Семёнов | да | интерпретатор | C# | Windows | условно-бесплатная (свободно распространяется в бинарном виде) | нет |
Iris | TANIGUCHI Masaya (недоступная ссылка) | нет | интерпретатор | Go | любая | Mozilla_Public_License 2.0 | да |
Iris web REPL | TANIGUCHI Masaya (недоступная ссылка) | нет | интерпретатор, компиляция в JavaScript | Go, JavaScript | браузер | Mozilla_Public_License 2.0 | да |
Kiss | Yuji Minejima | пока нет | интерпретатор | C, Lisp | any | GPL v3+ | да |
ISLisproid | GOMI Hiroshi | нет | интерпретатор | Java | Android | проприетарная | нет |
dayLISP | Matthew Denson | нет | интерпретатор | Java, Lisp | любая | BSD | да |
Easy-ISLisp | Kenichi Sasagawa | ? | интерпретатор, компиляция в C | C, Lisp | Windows, Linux | проприетарная (only for non-commercial use) | частично |
Название | Автор | Полная реализация ISLisp | Архитектура | Язык реализации | ОС | Лицензия | Доступность исходных текстов |
Две старые реализации, недоступные в настоящее время:
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2018 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lisp 1.5 | Lisp 1.5 | ||||||||||||||||||||
Maclisp | Maclisp | ||||||||||||||||||||
Interlisp | Interlisp | ||||||||||||||||||||
ZetaLisp | Lisp Machine Lisp | ||||||||||||||||||||
Scheme | Scheme | ||||||||||||||||||||
NIL | NIL | ||||||||||||||||||||
Common Lisp | Common Lisp | ||||||||||||||||||||
LeLisp | Le_Lisp | ||||||||||||||||||||
T | T | ||||||||||||||||||||
Emacs Lisp | Emacs Lisp | ||||||||||||||||||||
AutoLISP | AutoLISP | ||||||||||||||||||||
OpenLisp | OpenLisp | ||||||||||||||||||||
PicoLisp | PicoLisp | ||||||||||||||||||||
EuLisp | EuLisp | ||||||||||||||||||||
ISLISP | ISLISP | ||||||||||||||||||||
newLISP | newLISP | ||||||||||||||||||||
Racket | Racket | ||||||||||||||||||||
Guile | GNU Guile | ||||||||||||||||||||
Visual LISP | Visual LISP | ||||||||||||||||||||
Clojure | Clojure | ||||||||||||||||||||
Arc | Arc | ||||||||||||||||||||
LFE | LFE (англ.) | ||||||||||||||||||||
Hy | Hy (англ.) |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .